J'essaye de construire un script dans lequel nvm
et éventuellement le noeud sera installé.
J'ai installé nvm
avec cURL. Je vois les modifications dans le fichier .profile
ou .bashrc
(les deux fonctionnent) et lors de la saisie de l' nvm
invite bash, les options disponibles
s'affichent, etc. Ainsi, NVM fonctionne. Je peux manuellement installer node, mais dès que je mets la nvm
commande dans un script shell:
nano test.sh
#!/bin/bash
nvm
et le lancer avec:
chmod 755 test.sh
./test.sh
Je reçois:
./test.sh: line 2: nvm: command not found
S'il ne peut pas trouver nvm
, je n'ai même pas à penser à
nvm ls-remote
ou
nvm install ...
Ubuntu 14.04 est installé et Bash est mon shell.
Réponses:
nvm
commande est une fonction shell déclarée dans~/.nvm/nvm.sh
.Vous pouvez utiliser l'un des scripts suivants au début du vôtre pour le rendre
nvm()
disponible:la source
trying the shell scripts in ~/.nvm
? J'ai expliqué comment utilisernvm
le script shell ci-dessus. Y a-t-il quelque chose qui n'est pas clair?nvm
est unalias
dans votre environnement shell. S'il vous plaît poster la sortie dewhich nvm
et cela va effacer les choses.nvm
localement et fait des recherches.nvm
est une fonction shell déclarée dansnvm.sh
, vous avez donc simplement besoin de la source. ~/.nvm/nvm.sh
au début de votre script (ou, comme je l’ai écrit ci-dessus, - source.profile
/.bashrc
)Si vous l'avez installé via brassage sous OSX, vous pouvez alors charger le script provenant de brassage dans l'enveloppe de script en le recherchant au fur et à mesure de ses détails lors de l'installation.
J'ai ceci dans des projets pour les bootstrap:
la source
Petite légende en plus de la réponse fournie par @webKnjaZ: Je devais trouver une fonction shell pour chaque commande afin de la faire fonctionner dans mon script bash. Quelque chose comme ça:
la source
La même chose est arrivé ci-dessous est la chose qui a fonctionné pour moi:
root @ ubuntu: / usr / src / playground # n = $ (quel nœud); n = $ {n% / bin / nœud}; chmod -R 755 $ n / bin / *; sudo cp -r $ n / {bin, lib, partage} / usr / local
root @ ubuntu: / usr / src / playground # sudo npm installer express '/usr/src/playground/package.json' + [email protected] a ajouté 49 packages dans 129.186s
La commande ci-dessus est un peu compliquée, mais elle ne fait que copier quelle que soit la version du noeud active via nvm dans le répertoire / usr / local / (où les fichiers globaux installés par l'utilisateur doivent résider sur un VPS linux) et définir les permissions afin que tous les utilisateurs peuvent y accéder.
la source