Estoy tratando de ejecutar otra versión de NodeJS nvm
pero obtengo este error:
$ nvm use v4.2.4
nvm is not compatible with the npm config "prefix" option:
currently set to "/Users/z/.npm-global"
Run `npm config delete prefix` or `nvm use --delete-prefix v4.2.4` to unset it.
Tengo mi prefijo establecido a propósito para evitarlo sudo npm
(consulte https://docs.npmjs.com/getting-started/fixing-npm-permissions ).
¿Hay alguna forma que pueda usar nvm
sin perder mi prefijo para los paquetes instalados globalmente?
Respuestas:
Eliminar y restablecer el prefijo
Nota: Cambie el número de versión con el indicado en el mensaje de error.
Créditos a @gabfiocchi en Github - "Necesitas sobrescribir el prefijo nvm"
fuente
npm config set prefix $NVM_DIR/versions/node/<node-version-directory>
Tuve el mismo problema y la ejecución
npm config delete prefix
no me ayudó.Pero esto hizo:
Después de instalar nvm usando brew, cree el
~/.nvm
directorio:$ mkdir ~/.nvm
y agregue las siguientes líneas en
~/.bash_profile
:(Compruebe que dispone de ningún otro comando relacionado NVM en cualquiera
~/.bashrc
o~/.profile
o~/.bash_profile
)Abra una nueva terminal y esta vez no debería imprimir ningún mensaje de advertencia.
Verifique que nvm esté funcionando ejecutando el
nvm --version
comando.Después de eso, instale / reinstale NodeJS usando
nvm install node && nvm alias default node
.Más información
Lo instalé
nvm
usandohomebrew
y luego recibí esta notificación:Ignorarlo me trajo a este mensaje de error:
Seguí una guía anterior (de
homebrew/nvm
) y luego descubrí que necesitaba reinstalar NodeJS. Así que lo hice:y fue arreglado
Actualización: el uso de brew para instalar NVM provoca un inicio lento de la Terminal. Puede seguir estas instrucciones para resolverlo.
fuente
nvm alias default node
parecía ayudarme en mi casonvm
no es compatible cuando se instala a través de brew. Desinstale y use el método adecuado, el script curl en el archivo Léame.nvm
. Esta respuesta no me funcionó.rm -rf node_modules
ynpm install
volver a ejecutarlo , ya que los directorios ya tenían problemas de permisos.brew remove node -f
, que elimina todas las versiones instaladas. Haga esto primero, luego siga la guía en mi enlace anterior, luego elimine node_modules. ¡Deberías obtener una instalación limpia! Creo que también debe instalar npm, que acabo de seguir las instrucciones de un artículo de nodejs.org que apareció cuando lo busqué.npm install npm@latest -g
fue el comando, una vez que instala el nodo.Esto puede ser un conflicto con su instalación local de Node (si la tenía instalada de otra manera que no sea NVM en el pasado). Debe eliminar esta instancia de nodo:
sudo rm -rf /usr/local/lib/node_modules
sudo rm /usr/local/bin/node
cd /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm
Después de que no puedas instalar nvm
fuente
Este error puede ocurrir cuando la ruta de la carpeta de instalación de NVM tiene un enlace simbólico .
Explicación
La ruta de instalación predeterminada de NVM es:
$HOME/.nvm
pero su carpeta de inicio podría ser un enlace simbólico para otra unidad, como mi caso.Ejemplo, mi carpeta de inicio es un enlace simbólico a otra unidad:
/home/myuser -> /bigdrive/myuser
Esto causa el problema de prefijo.
Solución
En su script de inicio (.bashrc o .zshrc u otro), cambie la carpeta NVM a la ruta directa.
Ej:
NVM_DIR="/bigdrive/myuser/.nvm"
..bashrc
fuente
Me encontré con esto mientras usaba el nodo instalado vía
nvm
, connvm
instalado vía homebrew. Lo resolví ejecutandobrew uninstall nvm
,rm -rf $NVM_DIR
y luego reinstalando nvm usando el script de instalación oficial y reinstalando la versión de nodo que necesitaba.Nota: también había
$NVM_DIR
montado y vinculado. Lo volví a poner en mi hogar.fuente
Puede ser el problema si tiene su directorio de inicio montado en alguna parte, debido a que nvm no funciona correctamente con enlaces simbólicos. Como no me importa dónde se encuentra mi $ NVM_DIR, ejecuto esto y todo funciona bien:
fuente
Tuve el mismo problema y fue realmente molesto cada vez con el terminal. Ejecuté el comando en la terminal y se solucionó
Para aquellos que intenten eliminar nvm de brew
puede que no sea suficiente simplemente preparar desinstalar nvm
si ve que el prefijo npm sigue siendo / usr / local, ejecute este comando
fuente
Tengo el mismo mensaje de error pero otra solución. La ruta autogenerada durante curl (install.sh) no coincide. Comprueba esto con:
En mi caso:
/var/www//.nvm
. Muestre en su archivo bash generado automáticamente y cámbielo y reemplácelo: (~ / .bash_profile, ~ / .zshrc, ~ / .profile o ~ / .bashrc)reemplazar
con (por ejemplo)
fuente
Seguí la respuesta https://stackoverflow.com/a/47861348/2391795 pero no funcionó bien.
Después de ejecutar los comandos recomendados, mi nvm ya no funcionaba, la ejecución
nvm use
mostraría la versión de nodo adecuada que se está utilizando, pero la ejecuciónnode -v
mostrará otra. Ya no era posible cambiar la versión del nodo.Desinstalé y reinstalé nvm por completo para solucionarlo. Seguí https://github.com/creationix/nvm#manual-uninstall ejecutando
Luego edité mi
.zshrc
para eliminar las líneas relacionadas con nvm, que en mi caso eranLuego comenzó un nuevo shell (para que nvm no se cargue en este nuevo shell) y ejecutó https://github.com/creationix/nvm#install-script
Lo cual agregó nvm las líneas que previamente había eliminado en mi
.zshrc
.Entonces pude usar nvm como solía hacerlo. Supongo que es un caso extraño en el que las cosas salieron mal y me obligaron a reinstalar todo, no parece que la mayoría de las personas pasen por esto debido a este problema.
fuente
Déjame describir mi situación.
Primero, verifique la configuración actual
Entonces, encontré la configuración de error en la salida:
Entonces,
C:\\Program Files\\nodejs
eliminé el /mnt/c/Users/paul/.npmrc.fuente
Resolví este problema cuando se mostraba en VSCode y JetBrains Terminals, pero no en la terminal nativa usando los siguientes comandos:
Esto le dará la ruta resuelta al final:
A partir de ahí, eliminar los archivos y reiniciar VS Code debería solucionar el problema:
enlace de reparación: https://github.com/nvm-sh/nvm/issues/1690#issuecomment-392014774
fuente
Estaba buscando una solución para el problema de prefijo nvm y encontré esta pregunta (antes de encontrar la solución). Aquí está mi "diálogo" de shell. Espero que pueda ser útil para alguien. Pude configurar el prefijo con la ayuda de esta publicación: https://github.com/npm/npm/issues/6592
Cuando probé
npm config delete prefix
onvm use --delete-prefix
antes de usarnpm --prefix="" set prefix ""
, solo obtuve: npm ERR! no está bien código 0Tenga en cuenta que tendrá que repetir el mismo procedimiento con cada versión de nodo, el prefijo se vuelve a configurar (en mi caso) / usr / local después de la instalación.
fuente
Tuve este problema después de mover mi carpeta de inicio a una nueva unidad en Linux. Se solucionó eliminando la carpeta .nvm y reinstalando nvm
fuente
Acabo de resolver el problema. Hice un enlace simbólico
$HOME/.nvm
al$DEV_ZONE/env/node/nvm
directorio. Estaba enfrentando el mismo problema. ReemplacéNVM_DIR
de la$HOME/.zshrc
siguiente maneraPor cierto, instale NVM usando
curl
owget
comando no usandobrew
. Para obtener más información, consulte el comentario en este número en Github: 855 # issuecomment-146115434fuente
nvm
connpm
?Solo tengo una idea. Use el enlace simbólico para resolver el error y aún puede usar su prefijo para paquetes instalados globalmente.
ln -s [your prefix path] [path in the '~/.nvm']
entonces tendrá una carpeta simbólica en la~/.nvm
carpeta, pero de hecho, sus paquetes globales todavía están instalados en [su ruta de prefijo]. Entonces el error no volverá a aparecer y puede usarlonvm use **
normalmente. PD: me ha funcionadomac
. pps: no olvide configurar$PATH
subin
carpeta npm para usar los paquetes instalados globalmente.fuente
Nota:
para eliminar, eliminar o desinstalar nvm, simplemente elimine la
$NVM_DIR
carpeta (por lo general~/.nvm
)puede intentar:
rm -rf ~/.nvm
fuente