J'essaye de construire un script dans lequel nvm
et éventuellement le nœud seront installés.
J'ai installé nvm
avec cURL. Je vois les modifications dans le .profile
ou .bashrc
fichier (les deux fonctionnent) et lorsque vous tapez nvm
à l'invite bash, il affiche les options disponibles, etc.
Donc nvm fonctionne. Manuellement, je peux installer le nœud, mais dès que je mets la commande nvm
dans un script Shell:
nano test.sh
#!/bin/bash
nvm
et lancez-le avec:
chmod 755 test.sh
./test.sh
Je reçois:
./test.sh: line 2: nvm: command not found
S'il ne trouve pas nvm
, je n'ai même pas besoin de penser à
nvm ls-remote
ou
nvm install ...
J'ai installé Ubuntu 14.04 et Bash est mon Shell.
La commande nvm
est une fonction Shell déclarée dans ~/.nvm/nvm.sh
.
Vous pouvez vous procurer l'un des scripts suivants au début du vôtre pour rendre nvm()
disponible:
. ~/.nvm/nvm.sh
. ~/.profile
. ~/.bashrc
. $(brew --prefix nvm)/nvm.sh # if installed via Brew
Si vous l'avez installé via brew sur OSX, vous pouvez charger le script provenant de brew dans le script env en l'achetant comme il le précise lors de l'installation.
J'ai ceci dans des projets pour bootstrap eux:
brew install nvm
. $(brew --prefix nvm)/nvm.sh
nvm install
...
Petite légende en plus de la réponse fournie par @webKnjaZ: J'ai dû utiliser la fonction Shell pour chaque commande pour la faire fonctionner dans mon script bash. Quelque chose comme ça:
. ~/.nvm/nvm.sh --version
. ~/.nvm/nvm.sh install 4.4.5
La même chose qui se trouvait ci-dessous est la chose qui a fonctionné pour moi:
root @ ubuntu:/usr/src/Playground # n = $ (quel noeud); n = $ {n%/bin/node}; chmod -R 755 $ n/bin/*; Sudo cp -r $ n/{bin, lib, share}/usr/local
root @ ubuntu:/usr/src/aire de jeux # Sudo npm install express '/usr/src/playground/package.json' + [email protected] a ajouté 49 packages en 129.186s
La commande ci-dessus est un peu compliquée, mais tout ce qu'elle fait est de copier la version du nœud que vous avez active via nvm dans le répertoire/usr/local/(où les fichiers globaux installés par l'utilisateur doivent vivre sur un VPS linux) et de définir les autorisations afin que tous les utilisateurs peuvent y accéder.