Estoy tratando de construir un script en el que nvm
eventualmente se instalará el nodo.
Lo he instalado nvm
con cURL. Veo las modificaciones en el archivo .profile
o .bashrc
(ambos funcionan) y cuando escribo nvm
en el indicador bash, muestra las opciones disponibles, etc.
Así que nvm funciona. Manualmente puedo instalar el nodo, pero tan pronto como pongo el nvm
comando en un script de shell:
nano test.sh
#!/bin/bash
nvm
y ejecutarlo con:
chmod 755 test.sh
./test.sh
Yo obtengo:
./test.sh: line 2: nvm: command not found
Si no puede encontrar nvm
, ni siquiera tengo que pensar en
nvm ls-remote
o
nvm install ...
Tengo Ubuntu 14.04 instalado y Bash es mi shell.
bash
shell-script
software-installation
node.js
Oki Doki
fuente
fuente
Respuestas:
nvm
El comando es una función de shell declarada en~/.nvm/nvm.sh
.Puede obtener cualquiera de los siguientes scripts al comienzo del suyo para que
nvm()
estén disponibles:fuente
trying the shell scripts in ~/.nvm
? Le expliqué cómo ejecutarnvm
desde el script de shell anterior. ¿Hay algo poco claro?nvm
estáalias
en su entorno de shell. Publique el resultado dewhich nvm
y esto aclarará las cosas.nvm
localmente e hice algunas investigaciones.nvm
es una función de shell declarada ennvm.sh
, así que básicamente solo necesita. ~/.nvm/nvm.sh
.profile
.bashrc
Si lo instaló a través de brew en OSX, puede cargar el script de origen de brew en el entorno de script al obtenerlo como se detalla en la instalación.
Tengo esto en proyectos para arrancarlos:
fuente
Pequeña llamada además de la respuesta proporcionada por @webKnjaZ: tuve que buscar la función de shell para cada comando para que funcione en mi script bash. Algo como esto:
fuente
Lo mismo que pasó a continuación es lo que funcionó para mí:
root @ ubuntu: / usr / src / playground # n = $ (qué nodo); n = $ {n% / bin / node}; chmod -R 755 $ n / bin / *; sudo cp -r $ n / {bin, lib, share} / usr / local
root @ ubuntu: / usr / src / playground # sudo npm install express '/usr/src/playground/package.json' + [email protected] agregó 49 paquetes en 129.186s
El comando anterior es un poco complicado, pero todo lo que está haciendo es copiar cualquier versión del nodo que tenga activa a través de nvm en el directorio / usr / local / (donde los archivos globales instalados por el usuario deben vivir en un VPS de Linux) y establecer los permisos para que Todos los usuarios pueden acceder a ellos.
fuente