sudo: mnp: command not found
Je suis en train de mettre à niveau vers la dernière version de nœud. Je suis en suivant les instructions à http://davidwalsh.name/upgrade-nodejs
Mais quand je fais:
sudo npm install -g n
J'obtiens l'erreur:
sudo: npm: command not found
mnp fonctionne sans sudo. Quand je fais:
whereis node
Je vois:
node: /usr/bin/node /usr/lib/node /usr/bin/X11/node /usr/local/node
En cours d'exécution:
which npm
Montre:
/usr/local/node/bin/npm
J'ai essayé la solution à https://stackoverflow.com/a/5062718/1246159
Mais je suis toujours la même erreur. J'ai aussi regardé le fichier /etc/sudoers et la ligne correspondante est:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Cela semble bien pour moi. Comment puis-je obtenir MNP de travail avec la commande sudo?
- Ce n'
whereis npm
dire? - il dit: mnp: /usr/bin/ngp /usr/bin/X11/npm
- Ce travail?
sudo /usr/bin/npm install -g n
- nope, dit commande introuvable
- Je me demande si la ligne shebang (la ligne de départ avec
#!
) de/usr/bin/npm
est peut-être défectueux, que dire? - en fait, il y avait un lien entre le mécanisme national de prévention dans /usr/bin/mnp. J'ai supprimé est. Maintenant, où j'run whereis mnp, il dit simplement "npm:" et pas de chemin! Mais mnp commande fonctionne toujours mais pas comme sudo....
- Essayez
which npm
ensuite. - Pouvez-vous essayer de réinstaller le nœud? Il semble que vous supprimé mnp.
- Qui mnp renvoie "/usr/local/node/bin/mnp"
- npm commande encore de travail mais....
- Vous avez ajouté
/usr/local/node/bin
à votre$PATH
, maisnpm
doit être installé dans/usr/local/bin
. Le premier répertoire n'est pas danssecure_path
ce qui explique pourquoisudo
ne peut pas le trouver. - À l'aide de
nvm
sur Ubuntu ici - avec @robertklep commentaire, j'ai essayésudo /home/${user}/.nvm/version/node/${version}/bin/npm install
et cela a fonctionné. - Il a résolu mon problème en réinstallant à partir de package suivant. nodejs.org/en/download
Vous devez vous connecter pour publier un commentaire.
Mécanisme national de prévention de fichier doit être dans
/usr/local/bin/npm
. Si il n'y est pas, installer node.js de nouveau avec le paquet sur leurs site web. Cela a fonctionné dans mon cas.J'ai eu à faire
qui a fonctionné pour moi.
npm
est déjà installé, mais pas accessible quand elle est invoquée par sudo. Avec cette solution vous réinstaller mnp, qui est déjà existant. C'est la lutte contre les symptômes plutôt que de trouver la cause. Je comprends que cela peut corriger des choses cassées pour certaines personnes, mais il est trompeur, debout comme ça.sudo apt-get install npm
a fonctionné pour moi.Pour les utilisateurs de MAC, suivre les étapes a fonctionné pour moi.
brew uninstall node
ne fonctionne pas pour moi, mais j'ai continué à lebrew install node
etbrew postinstall
et il a résolu le problème. MerciJ'ai eu le même problème; voici les commandes pour résoudre le problème:
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
%HOME%/.nvm/versions/node/v7.4.0/bin/npm
). Malheureux que je vais avoir à faire référence à ce répondre à chaque fois que j'ai mise à jour à l'aide de la mémoire non volatile en raison de la façon dont la version dans le chemin du changementAVERTISSEMENT (edit)
Faire un
chmod 777
est une véritable solution sale. Essayez ces premiers, un à la fois, et de s'arrêter lorsque l'on travaille:$ 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 installation de la partie où je reçois un problèmeDonc Je
et de l'alto, du mnp est désormais lié
Supplémentaire
Si vous avez utilisé
-R 777
sur lib ma recommandation serait de définir imbriqués les fichiers et répertoires à un réglage 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
chmod
doit ce répertoire?-R
lors du réglage du dossier en arrière.J'ai eu à faire ce qui suit:
brew update
brew uninstall node
Pour CentOS utilisateurs, cela fonctionne pour moi:
yum install epel-release; yum install npm
Dans le but d'installer des packages npm à l'échelle mondiale avec sudo autorisation,
/usr/bin/npm
devraient être disponibles. Sinpm
existe sur un autre répertoire, créez un doux lien comme:Il fonctionne sur Fedora 25, node8.0.0 et npm5.0.0
Pour debian après l'installation de nœud
entrez
J'ai résolu ce problème en
simplement réinstaller .
Sur RHEL, CentOS et Fedora
puis
facile!..
les deux nœud et npm fonctionne comme un charme maintenant!
Si vous avez installé node/mnp avec nvm, la nvm environnement fichier de configuration doit être exécuté avant vous pouvez utiliser le paquet.
Il se trouve généralement dans ~/.nvm/nvm.sh.
Pour s'exécuter automatiquement, comprennent:
dans le .bash_profile fichier pour votre utilisateur
Ensuite, si vous souhaitez utiliser sudo avec cet utilisateur, assurez-vous d'inclure le paramètre-i pour faire sudo ensemble de l'environnement de l'utilisateur. par exemple
J'ai eu le même problème,la raison pour laquelle il a été mnp gestionnaire de package n'a pas été installé lors de l'installation du nœud. Ceci a été causé en raison de l'erreur suivant:
Dans le processus d'installation, il est une étape appelée "Installation Personnalisée", vous avez ici la possibilité de choisir l'une des opérations suivantes:
1) Node.js d'exécution (Cette option est sélectionnée par défaut).
2) le gestionnaire de package npm
3) la documentation en Ligne de raccourcis.
4) Ajouter le Chemin.
Si vous procédez comme il est mnp gestionnaire de package ne sera pas installé et, par conséquent, vous obtiendrez l'erreur.
Solution:
Sélectionnez le gestionnaire de package npm lorsque vous obtenez ces options.
Cela a fonctionné pour moi.
Je reçois le même sur CentOS.
which npm
donne:où
Je reçois la même chose pour le Nœud.
Donc c'est probablement un problème où les racines ne vérifie pas
/usr/local/bin
pour tous les fichiers binaires.Si vous avez téléchargé nœud paquet et extrait quelque part, comme
/opt
vous pouvez simplement créer un lien symbolique à l'intérieur de/usr/local/bin
.Supprimer le Nœud complètement:
Installer à nouveau:
J'ai aussi eu le même problème à Homestead et 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
Il a bien fonctionné.
Ma solution est la suivante:
Fonctionne très bien pour moi.
Trouvé ici: https://stackoverflow.com/a/29400598/861615
Cela se produit parce que vous avez par défaut de changement global répertoire packages
Instructions pour l'installation Node.js via le gestionnaire de package pour:
Ajouté mnp chemin d'accès binaire à sudo chemin à l'aide de visudo et de l'édition "secure_path"
Maintenant "sudo npm" œuvres
Dans le cas pourrait être utile pour toute personne qui utilise
rh-*
packages cela a fonctionné pour moi:Sur installer node.js & exécutez simplement
de votre projet dir