Eu estou tentando criar um script no qual nvm
e, eventualmente, o nó será instalado.
Eu instalei nvm
com cURL. Vejo as modificações no arquivo .profile
ou .bashrc
(ambos funcionam) e, ao digitar nvm
no prompt do bash, ele mostra as opções disponíveis etc.
Então o nvm funciona. Manualmente eu posso instalar o nó, mas assim que coloco o nvm
comando em um script de shell:
nano test.sh
#!/bin/bash
nvm
e execute-o com:
chmod 755 test.sh
./test.sh
Eu recebo:
./test.sh: line 2: nvm: command not found
Se não consegue encontrar nvm
, nem preciso pensar em
nvm ls-remote
ou
nvm install ...
Eu instalei o Ubuntu 14.04 e o Bash é o meu shell.
Respostas:
nvm
O comando é uma função shell declarada em~/.nvm/nvm.sh
.Você pode obter um dos seguintes scripts no início para
nvm()
disponibilizar:fonte
trying the shell scripts in ~/.nvm
? Expliquei como executar anvm
partir do shell script acima. Existe algo obscuro?nvm
é umalias
no seu ambiente shell. Por favor, publique a saída dewhich nvm
e isso vai esclarecer as coisas.nvm
localmente e fiz algumas pesquisas.nvm
é uma função shell declarou emnvm.sh
, então basicamente você só precisa fonte com. ~/.nvm/nvm.sh
no início do seu script (ou, como eu escrevi acima, - fonte.profile
/.bashrc
)Se você o instalou através do brew no OSX, poderá carregar o script de origem do brew no env enviando-o conforme detalha a instalação.
Eu tenho isso em projetos para inicializá-los:
fonte
Texto explicativo pequeno em cima da resposta fornecida por @webKnjaZ: Eu tive que usar a função shell para cada comando para fazê-lo funcionar no meu script bash. Algo assim:
fonte
A mesma coisa que aconteceu abaixo é a que funcionou para mim:
root @ ubuntu: / usr / src / playground # n = $ (qual nó); n = $ {n% / bin / node}; chmod -R 755 $ n / bin / *; sudo cp -r $ n / {bin, lib, compartilhamento} / usr / local
root @ ubuntu: / usr / src / playground # sudo npm install express '/usr/src/playground/package.json' + [email protected] adicionou 49 pacotes nos 129.186s
O comando acima é um pouco complicado, mas tudo o que está fazendo é copiar qualquer versão do nó que você tenha ativado via nvm no diretório / usr / local / (onde os arquivos globais instalados pelo usuário devem residir em um VPS Linux) e definir as permissões para que todos os usuários podem acessá-los.
fonte