J'essaie de passer à la dernière version de node. Je suis les instructions sur http://davidwalsh.name/upgrade-nodejs
Mais quand je fais:
sudo npm install -g n
Je reçois l'erreur:
sudo: npm: command not found
npm fonctionne sans sudo. Quand je fais:
whereis node
Je vois:
node: /usr/bin/node /usr/lib/node /usr/bin/X11/node /usr/local/node
Fonctionnement:
which npm
Spectacles:
/usr/local/node/bin/npm
J'ai essayé la solution sur https://stackoverflow.com/a/5062718/1246159
Mais je reçois toujours la même erreur. J'ai également regardé le fichier / etc / sudoers et la ligne appropriée est:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Cela me va bien. Comment puis-je faire fonctionner NPM avec la commande sudo?
sudo /usr/bin/npm install -g n
/usr/local/node/bin
à votre$PATH
, maisnpm
vous devez l'installer dans/usr/local/bin
. Le premier répertoire n'est pas danssecure_path
ce qui explique pourquoisudo
ne le trouve pas.nvm
sur Ubuntu ici - avec le commentaire @robertklep, j'ai essayésudo /home/${user}/.nvm/version/node/${version}/bin/npm install
et cela a fonctionné.Réponses:
Le fichier npm doit être dans
/usr/local/bin/npm
. Si ce n'est pas le cas, réinstallez node.js avec le package sur leur site Web . Cela a fonctionné dans mon cas.la source
je devais faire
cela a fonctionné pour moi.
la source
npm
est déjà installé mais pas accessible lorsqu'il est appelé via sudo. Avec cette solution, vous réinstallez npm qui existe déjà. Il s'agit de combattre les symptômes plutôt que d'en trouver la cause. Je comprends que cela pourrait corriger des choses cassées pour certaines personnes, mais c'est trompeur, debout comme ça.sudo apt-get install npm
travaillé pour moi.Pour les utilisateurs MAC, les étapes suivantes ont fonctionné pour moi.
la source
brew uninstall node
n'a pas fonctionné pour moi, mais je portais avec lebrew install node
etbrew postinstall
et le problème résolu. Mercibrew postinstall
exactement?brew postinstall
est redondantJ'ai eu le même problème; voici les commandes pour y remédier:
sudo ln -s /usr/local/bin/node /usr/bin/node
sudo ln -s /usr/local/lib/node /usr/lib/node
sudo ln -s /usr/local/bin/npm /usr/bin/npm
sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf
la source
%HOME%/.nvm/versions/node/v7.4.0/bin/npm
). Malheureusement, je devrai référencer cette réponse chaque fois que je mettrai à jour à l'aide de NVM en raison de la façon dont la version du chemin va changersudo ln -s $(whereis node) /usr/bin/node
Et ainsi de suite. dans votre profil bash.AVERTISSEMENT (modifier)
Faire un
chmod 777
est une solution assez radicale. Essayez-les d'abord, un à la fois, et arrêtez-vous lorsque vous travaillez:$ sudo chmod -R 777 /usr/local/lib/node_modules/npm
$ sudo chmod -R 777 /usr/local/lib/node_modules
$ sudo chmod g+w /usr/local/lib
$ sudo chmod g+rwx /usr/local/lib
$ brew postinstall node
est la seule partie d'installation où j'aurais un problèmeDonc je
et alto, npm est maintenant lié
Supplémentaire
Si vous avez utilisé
-R 777
sur lib, ma recommandation serait de définir les fichiers et répertoires imbriqués sur un paramètre par défaut:find /usr/local/lib -type f -print -exec chmod 644 {} \;
find /usr/local/lib -type d -print -exec chmod 755 {} \;
chmod /usr/local/lib 755
la source
chmod
devrait être ce répertoire?drwxr-xr-x
sont les valeurs par défaut de lib. Cela dit, n'utilisez PAS la fonction récursive-R
lors de la restauration du dossier.Je devais faire ce qui suit:
brew update
brew uninstall node
la source
Pour les utilisateurs de CentOS, cela fonctionne pour moi:
la source
yum install epel-release; yum install npm
Afin d'installer les packages npm globalement avec l'autorisation sudo,
/usr/bin/npm
devrait être disponible. S'ilnpm
existe sur un autre répertoire, créez un lien logiciel comme:Il fonctionne sur Fedora 25, node8.0.0 et npm5.0.0
la source
Sur macOS, cela a fonctionné pour moi:
la source
unix
, mais cela pourrait toujours être utile car c'est le meilleur résultat de recherche Google pour "commande macos npm introuvable"Pour debian après l'installation du nœud, entrez
la source
Si vous avez installé node / npm avec nvm, le fichier de configuration de l'environnement nvm doit être exécuté avant de pouvoir utiliser l'un ou l'autre des packages.
Cela se trouve généralement dans ~ / .nvm / nvm.sh.
Pour l'exécuter automatiquement, incluez:
dans le fichier .bash_profile pour votre utilisateur
Si vous souhaitez ensuite utiliser sudo avec cet utilisateur, assurez-vous d'inclure le paramètre -i pour que sudo définisse l'environnement utilisateur. par exemple
la source
réinstallez simplement.
Sur RHEL, CentOS et Fedora
puis
facile! .. le nœud et le npm fonctionnent maintenant comme un charme!
la source
J'ai résolu ce problème en
la source
J'ai eu le même problème, la raison en était que le gestionnaire de paquets npm n'a pas été installé lors de l'installation du nœud. Cela était dû à l'erreur suivante: Dans le processus d'installation, il existe une étape appelée "Configuration personnalisée", vous avez ici la possibilité de choisir l'une des options suivantes: 1) Runtime Node.js (sélectionné par défaut). 2) Gestionnaire de paquets npm 3) Raccourcis de documentation en ligne. 4) Ajouter au chemin. Si vous continuez tel quel, le gestionnaire de paquets npm ne sera pas installé et vous obtiendrez donc l'erreur.
Solution: sélectionnez le gestionnaire de packages npm lorsque vous obtenez ces options. Cela a fonctionné pour moi.
la source
Si vous avez téléchargé le package de nœuds et extrait quelque part comme
/opt
vous pouvez simplement créer un lien symbolique à l'intérieur/usr/local/bin
.la source
J'ai également eu le même problème dans Homestead et j'ai essayé de nombreuses façons. J'ai essayé avec
sudo apt-get install nodejs
J'obtiens l'erreur suivante:
Enfin j'ai essayé avec
sudo apt-get dist-upgrade
Cela a bien fonctionné.
la source
Ma solution est:
Fonctionne très bien pour moi.
Je l'ai trouvé ici: https://stackoverflow.com/a/29400598/861615
Cela se produit car vous avez modifié le répertoire des packages globaux par défaut
la source
Travaillez pour moi Résolution des erreurs d'autorisation EACCES lors de l'installation des packages à l'échelle mondiale
Pour minimiser le risque d'erreurs d'autorisation, vous pouvez configurer npm pour utiliser un répertoire différent. Dans cet exemple, vous allez créer et utiliser un répertoire caché dans votre répertoire personnel.
Faites des sauvegardes de votre ordinateur. Sur la ligne de commande, dans votre répertoire personnel, créez un répertoire pour les installations globales:
Configurez npm pour utiliser le nouveau chemin de répertoire:
Dans votre éditeur de texte préféré, ouvrez ou créez un fichier ~ / .profile et ajoutez cette ligne:
Sur la ligne de commande, mettez à jour vos variables système:
Pour tester votre nouvelle configuration, installez un package globalement sans utiliser sudo:
la source
Chemin binaire npm ajouté au chemin sudo en utilisant visudo et en éditant "secure_path"
Maintenant, "sudo npm" fonctionne
la source
Supprimer complètement le nœud:
Réinstallez:
la source
Au cas où cela pourrait être utile pour quiconque utilise des
rh-*
packages, cela a fonctionné pour moi:la source
Depuis que j'ai installé node.js en utilisant le fichier .tar disponible sur node.js, j'ai dû mettre l'emplacement du répertoire node sur:
de root en passant de l'utilisateur normal à root en utilisant la commande:
puis j'ai dû ajouter le chemin d'accès au nœud où je l'ai extrait dans le fichier .bashrc comme ci-dessous:
puis renommez .bashrc en utilisant
après
parti
la source
Pour moi, aucune des méthodes mentionnées ci-dessus en utilisant Homebrew ne fonctionnait sur macOS. J'ai donc désinstallé le nœud à l'aide de Homebrew et téléchargé le package de nœuds à partir de https://nodejs.org/en/download/ et l' ai installé. Ça a marché comme sur des roulettes.
la source
Installez node.js et exécutez simplement
depuis le répertoire de votre projet
la source