Estoy tratando de construir un script en el que nvmeventualmente se instalará el nodo.
Lo he instalado nvmcon cURL. Veo las modificaciones en el archivo .profileo .bashrc(ambos funcionan) y cuando escribo nvmen el indicador bash, muestra las opciones disponibles, etc.
Así que nvm funciona. Manualmente puedo instalar el nodo, pero tan pronto como pongo el nvmcomando 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:
nvmEl 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 ejecutarnvmdesde el script de shell anterior. ¿Hay algo poco claro?nvmestáaliasen su entorno de shell. Publique el resultado dewhich nvmy esto aclarará las cosas.nvmlocalmente e hice algunas investigaciones.nvmes una función de shell declarada ennvm.sh, así que básicamente solo necesita. ~/.nvm/nvm.sh.profile.bashrcSi 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