MNP ne pas installer n'importe quel paquet sur Mac. Nouvelle, génération propre. `EACCES` & d'autres erreurs
Je viens de reconstruire ma Mavericks (Mac OS X Version 9.4) de la machine à partir de zéro. Je suis l'administrateur et le seul utilisateur de cette machine.
- J'ai installé Git via leur
git-2.0.1-intel-universal-snow-leopard.pkg
(http://git-scm.com/downloads) à leur valeur par défaut/usr/local/git/bin/git
emplacement. - J'ai installé Nœud via leur
node-v0.10.30.pkg
(http://nodejs.org/download/) à leur valeur par défaut/usr/local/bin/node
emplacement. - L'étape finale de Nœud du package d'installation inclus une note qu'ils ont aussi installé des MNP dans leur défaut
/usr/local/bin/npm
emplacement. - Mon
$PATH
échos/usr/local/git/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin
(il contient/usr/local/bin
).
De course npm install -g bower
résultats dans:
npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/bower'
npm ERR! { [Error: EACCES, mkdir '/usr/local/lib/node_modules/bower']
npm ERR! errno: 3,
npm ERR! code: 'EACCES',
npm ERR! path: '/usr/local/lib/node_modules/bower',
npm ERR! fstream_type: 'Directory',
npm ERR! fstream_path: '/usr/local/lib/node_modules/bower',
npm ERR! fstream_class: 'DirWriter',
npm ERR! fstream_stack:
npm ERR! [ '/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23',
npm ERR! '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53',
npm ERR! 'Object.oncomplete (fs.js:107:15)' ] }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! System Darwin 13.3.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "bower"
npm ERR! cwd /Users/Home
npm ERR! node -v v0.10.30
npm ERR! npm -v 1.4.21
npm ERR! path /usr/local/lib/node_modules/bower
npm ERR! fstream_path /usr/local/lib/node_modules/bower
npm ERR! fstream_type Directory
npm ERR! fstream_class DirWriter
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, mkdir '/usr/local/lib/node_modules/bower'
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/Home/npm-debug.log
npm ERR! not ok code 0
L'exécution des installations similaires (npm install -g yo
, npm install -g grunt
, npm install -g nvm
, npm install -g npm
) résultats dans ce qui semble être la même liste d'erreurs.
Plusieurs personnes en ligne suggèrent forcer l'installation via sudo
, mais plusieurs autres avertir de ce qui pourrait provoquer plus tard des problèmes. Les manuels de ces paquets semblent ne pas mentionner l'exigence de sudo
, et, dans certains cas, ils ont conseillé de contacter MNP lorsque ce problème se pose.
De course npm cache clear
ne résout pas le problème.
De course ls -la
dans la maison (~
) répertoire montre mon Mac OS X nom d'utilisateur en tant que propriétaire de mon .npm
répertoire: drwxr-xr-x 15 admin staff 510 Aug 11 23:53 .npm
Personne ne sait ce qui a mal tourné et comment remédier à cela? Je vous remercie.
OriginalL'auteur jtheletter | 2014-08-12
Vous devez vous connecter pour publier un commentaire.
En passant, j'ai résolu ce problème en changeant le propriétaire de
/usr/local
être moi-même, afin de permettre MNP de modules dans son emplacement par défaut sans plus exigeantsudo
pour l'installation de chaque paquet.Note que j'ai eu un problème similaire w/ un npm install ne pas rédiger de ~/.mnp et il s'est avéré qu'il y avait plusieurs modules qui y est présent détenue par la racine antérieure de pistes de faire avec sudo, donc je l'ai fait ci-dessus pour m'assurer que mon utilisateur avait la propriété dans ~/.mnp à résoudre.
chown: /usr/local: Operation not permitted
L'opération devrait être autorisé qu'avec sudo. Êtes-vous un root/admin utilisateur? Peut-être la désactivation de SIP pourrait aider, mais je ne pense pas qu'il soit nécessaire d'.
Je suis également à obtenir une "Opération non autorisée", même avec sudo. Cela devrait être simple d'installation est un cauchemar!!!
OriginalL'auteur jtheletter
EACCES est une erreur de ne pas avoir accès sur le fait de faire une opération.
Pris la ligne:
npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/bower'
nous pouvons voir quenpm
été incapable de créer un répertoire à l'emplacement donné.La raison en est très probable que vous n'exécutez pas la commande en tant que super-utilisateur. En fait, le journal des erreurs est même ce qui suggère que:
À exécuter en tant qu'administrateur, vous devez préfixe ces commandes avec
sudo
. Qui est:sudo npm install -g bower
. Il vous sera demandé de saisir un mot de passe pour des raisons de sécurité.sudo
ne devrait pas être requis pour l'installation globale (par exemple, Bower, l'instruction, Yeoman, l'instruction). Auriez-vous une réponse à ceux-là?Vous certainement ne voulez pas autoriser l'utilisateur non autorisé l'accès en écriture à
/usr/local/lib
dossier. Si vous souhaitez éviter d'utiliser des autorisations administratives sans la visser en place les autorisations sur la racine de la propriété de l'infrastructure, alors vous devez dire à la NGP pour installer les modules dans l'emplacement détenus par votre utilisateur. La configuration de MNP d'installer des modules pour VOUS ne peut être vu ici: stackoverflow.com/questions/19352976/... Mais je n'appellerais pas ça un vrai global plus.OriginalL'auteur alandarev
afin de recommencer retirer avant node.js et npm s'installe en tant que bien que ceux-ci :
~/.npmrc
~/.npm
~/tmp
~/.npm-init.js
pour installer nodejs et npm comme toi-même PAS la racine de ces commandes (linux) :
télécharger de la source à partir de : http://nodejs.org/download/
qui la met en dir défini par-dessus --prefix
NODE_PATH donc nœud peut trouver dir pour les modules autrement
npm install xxx mettre nouvellement installé le module en dir en curr dir :
faire ci-dessus ET utilisez la syntaxe : npm install xxxxx -g
toujours utiliser l'option-g pour global
nodejs installer vous donne mnp ainsi :
ci-dessus fonctionne très bien sur linux / OSX
--Prefix commande ne permet pas de mettre nœud dans le répertoire ~/bin. Il s'installe simplement dans le répertoire créé lors de untaring la tarbal
Nevermind. Je suis un mannequin. Oublié de faire installer après j8.
OriginalL'auteur Scott Stensland
Je vous recommande de l'installer Node.js à l'aide d'un gestionnaire de versions tels que nvm. De cette façon, vous tuer deux oiseaux avec une pierre:
Fondamentalement, c'est aussi simple que ça
à partir de la ligne de commande.
OriginalL'auteur Golo Roden
(SOLUTION RÉPONSE)
Salut Les Gars,
J'ai eu le même problème sur mon MacBook Pro 2018. Après trie de l'installation de toute dépendance à l'échelle mondiale (avec l'option "-g" ou "--global") j'ai reçu une question "EACCES l'erreur" (c'est sur les autorisations)
, Il vous suffit d'ajouter "sudo" avant de vos commandes ce qui va le forcer.
Par exemple:
ou
Profitez-en!
OriginalL'auteur Adam Šipický
Il n'est généralement pas conseillé de lancer
sudo
, sauf si absolument nécessaire.Pour les questions de ce genre, NPM peut résoudre de nombreux problèmes, et de permettre à de multiples nœud versions à être utilisé, et sélectionné en fonction de votre cas d'utilisation.
J'ai eu un problème similaire configuration d'un nouvel ordinateur, et l'installation de MNP a pris soin de la question.
OriginalL'auteur karolus