nvm mantiene el nodo" olvidando " en la nueva sesión de terminal
Al usar una nueva sesión de terminal en OS X, nvm
olvida la versión del nodo y por defecto no tiene nada:
$ nvm ls
:
.nvm
v0.11.12
v0.11.13
Tengo que seguir golpeando nvm use v.0.11.13
en cada sesión:
.nvm
v0.11.12
-> v0.11.13
He intentado tanto la instalación brew
, así como el script de instalación oficial.
Mi .profile
para la versión brew:
#nvm
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
Y por el install.sh script:
$ curl https://raw.githubusercontent.com/creationix/nvm/v0.10.0/install.sh | bash
#nvm
export NVM_DIR="/Users/farhad/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
¿Alguna pista de lo que estoy haciendo mal?
10 answers
Intenta nvm alias default
. Por ejemplo:
$ nvm alias default 0.12.7
Esto establece la versión de nodo predeterminada en su shell. A continuación, compruebe que el cambio persiste cerrando la ventana de shell, abriendo una nueva y:
node --version
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-19 18:50:31
Alias a node
para evitar actualizar el alias predeterminado junto con las actualizaciones de la versión del nodo más adelante.
nvm alias default node
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-06 14:58:38
Para instalar la última versión estable:
nvm install stable
Para establecer por defecto la versión estable (en lugar de una versión específica):
nvm alias default stable
Para listar las versiones instaladas:
nvm list
A partir de v6.2.0
, se verá algo así como:
$ nvm list
v4.4.2
-> v6.2.0
default -> stable (-> v6.2.0)
node -> stable (-> v6.2.0) (default)
stable -> 6.2 (-> v6.2.0) (default)
iojs -> N/A (default)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-01 06:37:42
Nvm hace su trabajo cambiando la variable PATH, por lo que debe asegurarse de que no está cambiando de alguna manera su RUTA a otra cosa después de obtener el nvm.sh guión.
En mi caso, nvm.sh estaba siendo llamado .bashrc pero luego la variable PATH se estaba actualizando .bash_profile que causó que mi sesión encontrara el nodo del sistema antes que el nodo nvm.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-08 15:22:19
En mi caso, otro programa había agregado PATH
cambios a .bashrc
Si el otro programa cambió la PATH
después de la inicialización de nvm, entonces se olvidarían los cambios de PATH
de nvm, y obtendríamos el nodo del sistema en nuestro PATH
(o ningún nodo).
La solución fue mover la configuración de nvm al inferior de .bashrc
### BAD .bashrc ###
# NVM initialisation
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
# Some other program adding to the PATH:
export PATH="$ANT_ROOT:$PATH"
Solución:
### GOOD .bashrc ###
# Some other program adding to the PATH:
export PATH="$ANT_ROOT:$PATH"
# NVM initialisation
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
(Esto fue con bash 4.2.46 en CentOS. Me parece un bicho en bash, pero puede que sea equivocado.)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-06 17:02:36
Las soluciones mejor valoradas no parecían funcionar para mí. Mi solución es la siguiente:
- Desinstalar nvm completamente usando homebrew:
brew uninstall nvm
Reinstalar -
brew install nvm
-
En Terminal, siga los pasos a continuación (estos también se enumeran al instalar nvm a través de homebrew):
mkdir ~/.nvm cp $(brew --prefix nvm)/nvm-exec ~/.nvm/ export NVM_DIR=~/.nvm source $(brew --prefix nvm)/nvm.sh
Los pasos descritos anteriormente agregarán el directorio de trabajo de NVM a su ruta HOME HOME, copiarán nvm-exec al directorio de trabajo de NVM y lo agregarán a $HOME/.bashrc, HOME INICIO/.zshrc, o de su shell archivo de configuración equivalente.(de nuevo tomado de lo que aparece en una instalación de NVM usando homebrew)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-01 15:53:41
Esta pregunta se ha mencionado para el OSX, pero me sucedió en mi sistema operativo linux.
Intenté usar nvm alias default <version>
pero para cada nueva sesión de terminal se olvidó la versión del nodo utilizada.
por lo tanto, aquí está la solución que me di cuenta.
Asegúrese de establecer un alias predeterminado para la versión del nodo , introduzca el siguiente código .bashrc, and source .bashrc
.
export NVM_DIR="/home/bonnie/.nvm"
## If the file exists and is not empty
if [ -s "$NVM_DIR/nvm.sh" ]; then
## Source it
source "$NVM_DIR/nvm.sh"
fi
NODE_DEFAULT_VERSION=$(<"$NVM_DIR/alias/default")
export PATH="$NVM_DIR/versions/node/$NODE_DEFAULT_VERSION/bin":$PATH
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:10:33
Ejecute esto después de instalar cualquier versión,
n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr/local
Este comando está copiando cualquier versión del nodo que tenga activo a través de nvm en el directorio /usr/local/ y estableciendo los permisos para que todos los usuarios puedan acceder a ellos.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-12 09:50:19
He encontrado un nuevo camino aquí. Usando n
Administre Interactivamente Su Nodo.js ayuda.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-23 07:51:32
También en caso de que tuviera node instalado antes de nvm compruebe en su ~/.bash_profile para no tener algo como :
export PATH=/bin:/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH
Si lo tiene, coméntelo/elimínelo y nvm debería comenzar a manejar la versión de nodo predeterminada.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-03 23:56:18