J'essaie d'exécuter une autre version de NodeJS avec nvm
mais j'obtiens cette erreur:
$ 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.
J'ai mon préfixe défini à dessein à éviter sudo npm
(voir https://docs.npmjs.com/getting-started/fixing-npm-permissions ).
Est-il possible d'utiliser nvm
sans perdre mon préfixe pour les packages installés globalement?
Réponses:
Supprimer et réinitialiser le préfixe
Remarque: Modifiez le numéro de version avec celui indiqué dans le message d'erreur.
Crédits à @gabfiocchi sur Github - "Vous devez remplacer le préfixe nvm"
la source
npm config set prefix $NVM_DIR/versions/node/<node-version-directory>
J'ai eu le même problème et l'exécution
npm config delete prefix
ne m'a pas aidé.Mais cela a fait:
Après avoir installé nvm à l'aide de brew, créez un
~/.nvm
répertoire:$ mkdir ~/.nvm
et ajoutez les lignes suivantes dans
~/.bash_profile
:(Vérifiez que vous n'avez aucune autre commande liée à nvm dans aucun
~/.bashrc
ou~/.profile
ou~/.bash_profile
)Ouvrez un nouveau terminal et cette fois, il ne devrait imprimer aucun message d'avertissement.
Vérifiez que nvm fonctionne en exécutant la
nvm --version
commande.Après cela, installez / réinstallez NodeJS à l'aide de
nvm install node && nvm alias default node
.Plus d'informations
J'ai installé en
nvm
utilisanthomebrew
et après cela, j'ai reçu cette notification:L'ignorer m'a amené à ce message d'erreur:
J'ai suivi un guide précédent (de
homebrew/nvm
) et après cela, j'ai constaté que je devais réinstaller NodeJS. J'ai donc fait:et il a été corrigé.
Mise à jour: l' utilisation de brew pour installer NVM entraîne un démarrage lent du terminal. Vous pouvez suivre cette instruction pour le résoudre.
la source
nvm alias default node
semblait m'a aidé dans mon casnvm
n'est pas pris en charge lorsqu'il est installé via une infusion. Veuillez le désinstaller et utiliser la méthode appropriée, le script curl dans le fichier Lisez-moi.nvm
. Cette réponse n'a pas fonctionné pour moi.rm -rf node_modules
et courir ànpm install
nouveau, étant donné que les répertoires avaient déjà des problèmes screwy des autorisations.brew remove node -f
, qui supprime toutes les versions installées. Faites-le d'abord, puis suivez le guide dans mon lien ci-dessus, puis supprimez node_modules. Vous devriez obtenir une installation propre! Je pense que vous devez également installer npm, que je viens de suivre les instructions d'un article nodejs.org qui est apparu lorsque je l'ai recherché.npm install npm@latest -g
était la commande, une fois que vous avez installé le nœud.Cela peut être un conflit avec votre installation locale de Node (si vous l'aviez installé via une autre méthode que NVM dans le passé). Vous devez supprimer cette instance de nœud:
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
Après avoir installé nvm
la source
Cette erreur peut se produire lorsque le chemin du dossier d'installation de NVM possède un lien symbolique .
Explication
Le chemin d'installation par défaut de NVM est:
$HOME/.nvm
mais votre dossier personnel pourrait être un lien symbolique pour un autre lecteur, comme mon cas.Exemple, mon dossier de départ est un lien symbolique vers un autre lecteur:
/home/myuser -> /bigdrive/myuser
Cela provoque le problème de préfixe.
Solution
Sur votre script de démarrage (.bashrc ou .zshrc ou autre), remplacez le dossier NVM par le chemin direct.
Ex:
NVM_DIR="/bigdrive/myuser/.nvm"
..bashrc
la source
J'ai rencontré cela en utilisant un nœud installé via
nvm
, avecnvm
installé via homebrew. Je l'ai résolu en exécutantbrew uninstall nvm
,rm -rf $NVM_DIR
puis en réinstallant nvm à l'aide du script d'installation officiel et en réinstallant la version du nœud dont j'avais besoin.Remarque: j'avais également
$NVM_DIR
monté et lié. Je l'ai replacé dans mon homedir.la source
Cela pourrait être le problème si votre répertoire personnel est monté quelque part, car nvm ne fonctionne pas correctement avec les liens symboliques. Parce que je me fiche de savoir où se trouve mon $ NVM_DIR, je lance cela et tout fonctionne bien:
la source
J'ai eu le même problème et c'était vraiment énervant à chaque fois avec le terminal. J'exécute la commande sur le terminal et elle a été corrigée
Pour ceux qui essaient de retirer le NVM de l'infusion
il ne suffit peut-être pas de simplement désinstaller nvm
si vous voyez que le préfixe npm est toujours / usr / local, exécutez cette commande
la source
J'ai le même message d'erreur mais une autre solution. Le chemin généré automatiquement pendant curl (install.sh) ne correspond pas. Vérifiez cela avec:
Dans mon cas:
/var/www//.nvm
. Affichez dans votre fichier bash généré automatiquement et modifiez-le et remplacez-le: (~ / .bash_profile, ~ / .zshrc, ~ / .profile ou ~ / .bashrc)remplacer
avec (par exemple)
la source
J'ai suivi la réponse https://stackoverflow.com/a/47861348/2391795 mais cela n'a pas bien fonctionné.
Après avoir exécuté les commandes recommandées, mon nvm ne fonctionnait plus, l'exécution
nvm use
afficherait la version de nœud appropriée utilisée, mais l'exécution ennode -v
afficherait une autre. Il n'était plus possible de changer la version du nœud.J'ai désinstallé et réinstallé nvm entièrement pour le réparer. J'ai suivi https://github.com/creationix/nvm#manual-uninstall en exécutant
Ensuite, j'ai modifié my
.zshrc
pour supprimer les lignes liées à nvm, qui dans mon cas étaientPuis a commencé un nouveau shell (pour que nvm ne soit pas chargé dans ce nouveau shell) et a exécuté https://github.com/creationix/nvm#install-script
Ce qui a ajouté nvm les lignes que j'avais précédemment supprimées dans mon
.zshrc
.Ensuite, j'ai pu utiliser nvm comme je le faisais auparavant. Je suppose que c'est un cas étrange où les choses ont mal tourné et m'ont forcé à tout réinstaller, il ne semble pas que la plupart des gens passent par ce problème à cause de ce problème.
la source
Permettez-moi de décrire ma situation.
Tout d'abord, vérifiez la configuration actuelle
Ensuite, j'ai trouvé la configuration d'erreur dans la sortie:
J'ai donc supprimé le
C:\\Program Files\\nodejs
fichier dans /mnt/c/Users/paul/.npmrc.la source
J'ai résolu ce problème lorsqu'il était affiché sur les terminaux VSCode et JetBrains, mais pas dans le terminal natif à l'aide des commandes suivantes:
Cela vous donnera le chemin résolu à la fin:
À partir de là, la suppression des fichiers et la relance de VS Code devraient résoudre le problème:
lien de correction: https://github.com/nvm-sh/nvm/issues/1690#issuecomment-392014774
la source
Je cherchais une solution pour le problème de préfixe nvm a trouvé cette question (avant de trouver la solution). Voici mon "dialogue" shell. J'espère que cela peut être utile à quelqu'un. J'ai pu définir un préfixe à l'aide de cet article: https://github.com/npm/npm/issues/6592
Quand j'ai essayé
npm config delete prefix
ounvm use --delete-prefix
avant de l'utilisernpm --prefix="" set prefix ""
, je n'ai eu que: npm ERR! pas ok code 0Notez que vous devrez répéter la même procédure avec chaque version de nœud, le préfixe est remis à (dans mon cas) / usr / local après l'installation.
la source
J'ai eu ce problème après avoir déplacé mon dossier personnel vers un nouveau lecteur sous Linux. Il a été corrigé en supprimant le dossier .nvm et en réinstallant nvm
la source
Je viens de résoudre le problème. J'ai créé un lien symbolique
$HOME/.nvm
vers le$DEV_ZONE/env/node/nvm
répertoire. J'étais confronté au même problème. Je l' ai remplacéNVM_DIR
dans la$HOME/.zshrc
façon suivanteBTW, veuillez installer NVM en utilisant
curl
wget
commande ou pas en utilisantbrew
. Pour plus d'informations, veuillez consulter le commentaire dans ce numéro sur Github: 855 # issuecomment-146115434la source
nvm
avecnpm
?J'ai juste une idée. Utilisez le lien symbolique pour résoudre l'erreur et vous pouvez toujours utiliser votre préfixe pour les packages installés globalement.
ln -s [your prefix path] [path in the '~/.nvm']
alors vous aurez un dossier symbolique dans le~/.nvm
dossier, mais en fait, vos packages globaux sont toujours installés dans [votre chemin de préfixe]. Ensuite, l'erreur ne s'affichera plus et vous pouvez l'utilisernvm use **
normalement. ps: ça a marché pour moimac
. pps: n'oubliez pas de paramétrer$PATH
votrebin
dossier npm pour utiliser les packages installés globalement.la source
Remarque:
pour supprimer, supprimer ou désinstaller nvm - supprimez simplement le
$NVM_DIR
dossier (généralement~/.nvm
) quevous pouvez essayer:
rm -rf ~/.nvm
la source