Problemas com o caminho do nó dos scripts do bash

0

Estou escrevendo um script que em um ponto inicia um site simples baseado em node.js:

cd ../ap-site/ && npm start

Quando eu executo o comando acima do terminal, não há problema, mas quando eu corro do meu script, obtenho:

/usr/bin/env: node: No such file or directory

Estou usando o nvm para gerenciar versões de nós atualmente, então tentei adicionar nvm use 8.8.1 ao meu ~/.bashrc e, em seguida, sourcing o arquivo no meu script diretamente:

source /home/rescue/.bashrc
cd ../ap-site/ && npm start

Eu também tentei usar which npm no terminal e usar o caminho resultante diretamente como:

cd ../ap-site/ && /home/rescue/.nvm/v8.8.1/bin/npm start

Mas eu tenho o mesmo resultado.

Alguma idéia de como eu posso depurar a situação e executar projetos de nós do meu script bash?

    
por Philip Kirkbride 31.10.2017 / 14:29

1 resposta

0

Pedimos desculpas por postar a pergunta e resposta tão rapidamente, mas talvez seja útil para alguém.

Embora eu esteja pesquisando, o bash nvm parece não carregar, apesar de estar no meu arquivo .bashrc .

Em vez de pesquisar meu .bashrc I setup nvm no topo do script diretamente:

export NVM_DIR="/home/rescue/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm
nvm use 8.8.1

Depois de fazer isso, meus comandos npm começaram a funcionar.

Ainda não sei por que a pesquisa .bashrc não funcionou como esperado, pois contém as mesmas 3 linhas de código.

Pode ser relevante que o script seja sempre executado com sudo ?

    
por 31.10.2017 / 14:48