error de instalación npm ENOTDIR

Soy muy nuevo en Node.js y estoy tratando de instalar Flatiron usando npm pero me da un error.

sudo npm install flatiron -g 

Y yo tengo …

 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!  npm ERR! or email it to: npm ERR!  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 

¿Que esta mal aquí? No tengo ni idea.

Tratar

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

antes de iniciar el script de instalación, ya que la línea npm http 304 https://registry.npmjs.org/flatiron indica que este módulo proviene de la memoria caché. Y también ENOTDIR afirma que no hay directorio. Por lo tanto, vaciar el caché resolvería su problema.

Acabo de resolver el problema. Es porque hay un archivo llamado tmp en el directorio de inicio.

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

Además … si está intentando instalar npm, se aplica el mismo error y solución: eliminar ~/tmp

A continuación, se encuentran los pasos para instalar una versión dada desde la fuente sin raíz. NOTA: esto instala nodejs, que le brinda tanto el nodo como el npm, se reúnen por versión.

para iniciar de nuevo, elimine las instalaciones anteriores de node.js y npm, así como estas:

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

para instalar nodejs y npm ya que usted NO rootea estos comandos (OSX / linux):

 export NODE_PARENT=${HOME}/bin_0_10_32 mkdir ${NODE_PARENT} 

fuente de descarga desde: 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 

que lo pone en dir definido por arriba –prefix

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

defina la variable de entorno NODE_PATH para que el nodo pueda encontrar dir para los módulos; de lo contrario, npm install xxx colocará el módulo recién instalado en el dir actual:

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

cuando use la syntax: npm install -g some_cool_module the -g para global lo instala en dir $ NODE_PATH y no en su $ PWD

La instalación de nodejs te da npm también:

 ls -la ${NODE_PARENT}/nodejs/bin 

Los módulos subsiguientes que instale utilizando el indicador global -g colocarán automáticamente sus ~ binarios ~ en el directorio de bin anterior … como browserify

Ahora ponga por encima de tres comandos de exportación xxx = yyy en su ~ / .bashrc o algo así para que su entorno esté configurado

Dirijo eliminar el archivo de npm-debug.log. entonces está bien para mí.