npm install error ENOTDIR

je suis très nouveau au noeud.js et essayer d'installer Flatiron en utilisant npm mais cela me donne une erreur.

sudo npm install flatiron -g

Et j'obtiens -

npm http GET https://registry.npmjs.org/flatiron
npm http 304 https://registry.npmjs.org/flatiron
npm ERR! Error: ENOTDIR, mkdir '/home/siddharthsaha/tmp/npm-28554/1353323290836-0.20847953506745398'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.2.0-24-generic
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "flatiron" "-g"
npm ERR! cwd /home/siddharthsaha/denarit
npm ERR! node -v v0.8.14
npm ERR! npm -v 1.1.65
npm ERR! path /home/siddharthsaha/tmp/npm-28554/1353323290836-0.20847953506745398
npm ERR! code ENOTDIR
npm ERR! errno 27
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/siddharthsaha/denarit/npm-debug.log
npm ERR! not ok code 0

Quel est le problème ici? Je n'ai aucune idée.

15
demandé sur Siddharth 2012-11-19 15:25:06

4 réponses

sudo mkdir -p /home/siddharthsaha/tmp
sudo npm cache clear

avant de lancer le script d'installation, car indique que ce module vient du cache. Et aussi ENOTDIR indique qu'il n'existe pas de répertoire. Par conséquent, vider le cache résoudrait votre problème.

19
répondu Tolga Akyüz 2012-11-19 15:59:50

vient de résoudre le problème. C'est parce qu'il y a un fichier appelé tmp dans le répertoire d'accueil.

rm -rf ~/tmp
sudo npm cache clear
sudo npm install -g node

aussi... si vous essayez d'installer mnp alors la même erreur et la solution s'applique - supprimer ~/tmp

21
répondu Daithí 2013-04-17 17:10:12

ci-dessous sont les étapes pour installer un rejet donné à partir de la source sans racine NOTE - Ceci installe nodejs qui vous donne à la fois noeud et npm, ils se rassemblent par version.

pour recommencer à zéro, retirer avant nœud.js et npm s'installe en tant que bien que ceux-ci :

sudo mv ~/.npmrc ~/.npmrc_ignore
sudo mv ~/.npm   ~/.npm_ignore
sudo mv ~/tmp    ~/tmp_ignore
sudo mv ~/.npm-init.js ~/.npm-init.js_ignore

pour installer nodejs et npm comme toi-même PAS la racine de ces commandes (OSX/linux) :

export NODE_PARENT=${HOME}/bin_0_10_32

mkdir ${NODE_PARENT}

télécharger la source : http://nodejs.org/download/

cd node-v0.xxxx

./configure   --prefix=${NODE_PARENT}/nodejs

make -j8
make install   #  IMPORTANT this is NOT using sudo
               # not wanted since installing into $USER owned $NODE_PARENT

ce qui le place dans le dir défini par le préfixe

export PATH=${NODE_PARENT}/nodejs/bin:$PATH

définir la variable d'environnement NODE_PATH pour que node puisse trouver dir pour les modules sinon npm install xxx va mettre le module nouvellement installé dans le dir actuel :

export NODE_PATH=${NODE_PARENT}/nodejs/lib/node_modules

lorsque vous utilisez syntaxe: npm install -g some_cool_module le -g Pour global l'installe dans dir $NODE_PATH et non dans votre $ PWD

nodejs install vous donne npm as bien :

ls -la ${NODE_PARENT}/nodejs/bin

modules suivants que vous installez en utilisant global flag-g mettra automatiquement leurs binaires au-dessus de bin dir ... comme browerify!--7-->

maintenant, mettez au-dessus de trois exportations xxx = yyy les commandes dans votre ~/.bashrc ou quelque sorte que votre environnement est le programme d'installation

0
répondu Scott Stensland 2014-10-01 17:51:01

j'ordonne la suppression du fichier de débogage npm.journal. alors c'est ok pour moi.

0
répondu bnPYSse 2016-06-27 13:31:25