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.
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.
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
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
j'ordonne la suppression du fichier de débogage npm.journal. alors c'est ok pour moi.