2012-07-08 7 views
24

Esto es lo que me pasa cuando intento instalar expreso para Node.jsMNP, no puede encontrar 'grácil-fs', no importa lo que hago

npm install express 

module.js:340 
    throw err; 
     ^
Error: Cannot find module 'graceful-fs' 
    at Function.Module._resolveFilename (module.js:338:15) 
    at Function.Module._load (module.js:280:25) 
    at Module.require (module.js:362:17) 
    at require (module.js:378:17) 
    at Object.<anonymous> (/usr/share/npm/lib/utils/ini.js:32:10) 
    at Module._compile (module.js:449:26) 
    at Object.Module._extensions..js (module.js:467:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Module.require (module.js:362:17) 

Incluso he intentado otros y todavía consiguió el mismo error . Hice algunas excavaciones y encontré 'gracefui-fs' en mi servidor.

Estoy ejecutando Ubuntu 12.04 LTS en un servidor amazon ec2. Nodo instalado sin errores, y npm aún no funcionó. También desinstalé y reinstalé npm usando

apt-get 

así como también desde la fuente. Durante la instalación tampoco recibí ningún error.

+0

Tengo el mismo problema :(http://stackoverflow.com/questions/16973604/npm-cannot-find-module-tobi-cookie-npm-unable-to-install-express-node-js – Kayvar

Respuesta

1

Por defecto, el nodo busca módulos dentro de su proyecto en ../CollinsProject/node_modules.

Intente mover graceful-fs a esta carpeta y debería funcionar.

Si desea instalar el módulo para su uso global (en otros proyectos), mueva la carpeta graceful-fs a /usr/local/lib/node_modules.

+0

El módulo está en la carpeta global y todavía me dio un error. Eliminé la instancia de Ubuntu 12.04 e instalé Ubuntu 11 y funcionó bien, sin errores. Mi máquina en casa está ejecutando Ubuntu 12.04 y funciona bien. –

14

También estaba usando Ubuntu 12.04, y estaba teniendo el mismo problema (aunque no creo que sea específicamente culpa de Ubuntu).

[email protected]:~/git/SyntaxHighlighter$ npm 

module.js:340 
    throw err; 
     ^
Error: Cannot find module 'graceful-fs' 
    at Function.Module._resolveFilename (module.js:338:15) 
    at Function.Module._load (module.js:280:25) 
    at Module.require (module.js:362:17) 
    at require (module.js:378:17) 
    at Object.<anonymous> (/usr/share/npm/lib/utils/ini.js:32:10) 
    at Module._compile (module.js:449:26) 
    at Object.Module._extensions..js (module.js:467:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Module.require (module.js:362:17) 

así que traté de averiguar dónde NPM estaba huyendo de:

[email protected]:~/git/SyntaxHighlighter$ sudo find/-name npm 
/etc/bash_completion.d/npm 
/usr/bin/npm 
/usr/local/bin/npm 
/usr/local/n/versions/0.8.7/bin/npm 
/usr/local/n/versions/0.8.7/lib/node_modules/npm 
/usr/local/n/versions/0.8.7/lib/node_modules/npm/bin/npm 
/usr/share/lintian/overrides/npm 
/usr/share/doc/npm 
/usr/share/npm 
/usr/share/doc-base/npm 
/usr/lib/nodejs/npm 
/var/lib/doc-base/documents/npm 

Como referencia, se trataba de un par de enlaces:

/usr/bin/npm -> ../share/npm/bin/npm-cli.js* 
/usr/local/n/versions/0.8.7/bin/npm -> ../lib/node_modules/npm/bin/npm-cli.js* 

La confirmación de que era "/ usr/bin/npm "que se estaba utilizando:

[email protected]:~/git/SyntaxHighlighter$ which npm 
/usr/bin/npm 

así que traté de llamar al último de ellos en concreto, que parecía hacer el truco:

[email protected]:~/git/SyntaxHighlighter$ /usr/local/n/versions/0.8.7/bin/npm install 
npm WARN package.json [email protected] No README.md file found! 
npm http GET https://registry.npmjs.org/uglify-js 
npm http GET https://registry.npmjs.org/less 
npm http GET https://registry.npmjs.org/jake 
npm http GET https://registry.npmjs.org/minimatch 
npm http 200 https://registry.npmjs.org/uglify-js 
npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-1.3.3.tgz 
npm http 200 https://registry.npmjs.org/less 
npm http GET https://registry.npmjs.org/less/-/less-1.3.0.tgz 
npm http 200 https://registry.npmjs.org/minimatch 
npm http GET https://registry.npmjs.org/minimatch/-/minimatch-0.2.6.tgz 
npm http 200 https://registry.npmjs.org/less/-/less-1.3.0.tgz 
npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-1.3.3.tgz 
npm http 200 https://registry.npmjs.org/minimatch/-/minimatch-0.2.6.tgz 
npm http 200 https://registry.npmjs.org/jake 
npm http GET https://registry.npmjs.org/jake/-/jake-0.3.14.tgz 
npm http 200 https://registry.npmjs.org/jake/-/jake-0.3.14.tgz 
npm http GET https://registry.npmjs.org/lru-cache 
npm http GET https://registry.npmjs.org/utilities 
npm http GET https://registry.npmjs.org/minimatch 
npm http 304 https://registry.npmjs.org/minimatch 
npm http GET https://registry.npmjs.org/minimatch/-/minimatch-0.0.5.tgz 
npm http 200 https://registry.npmjs.org/utilities 
npm http GET https://registry.npmjs.org/utilities/-/utilities-0.0.11.tgz 
npm http 200 https://registry.npmjs.org/lru-cache 
npm http GET https://registry.npmjs.org/lru-cache/-/lru-cache-2.0.1.tgz 
npm http 200 https://registry.npmjs.org/minimatch/-/minimatch-0.0.5.tgz 
npm http 200 https://registry.npmjs.org/utilities/-/utilities-0.0.11.tgz 
npm http 200 https://registry.npmjs.org/lru-cache/-/lru-cache-2.0.1.tgz 
npm http GET https://registry.npmjs.org/lru-cache 
npm http 304 https://registry.npmjs.org/lru-cache 
npm http GET https://registry.npmjs.org/lru-cache/-/lru-cache-1.0.6.tgz 
npm http 200 https://registry.npmjs.org/lru-cache/-/lru-cache-1.0.6.tgz 
npm WARN prefer global [email protected] should be installed with -g 
[email protected] node_modules/uglify-js 

[email protected] node_modules/less 

[email protected] node_modules/minimatch 
+-- [email protected] 

[email protected] node_modules/jake 
+-- [email protected] 
+-- [email protected] ([email protected]) 

En última instancia, parece que tal vez porque he tenido otras versiones de nodo y NPM instalado en el pasado, que acaba de conseguir confuso.

+0

¡Impresionante! Gracias Mucho. – Nadeeth

+0

Gracias, pasé años en esto. Estaba usando nvm y cuando hice un sudo npm recibí este error.un buen "sudo which npm" y luego una instalación de npm -g npm usando esa ubicación lo solucionó. –

19

Tuve el mismo problema.

sudo npm install 

lo resolvió para mí.

+0

Hombres esto era tan simple pero poderoso gracias por esta respuesta! –

+0

Esto arroja el mismo error exacto ... – Cerin

+0

'sudo npm install' generalmente causa más problemas de los que vale. Si esto incluso resuelve el problema, generalmente significa que tiene permisos rotos tal como están, y es probable que tenga problemas inesperados de compilación en cualquier lugar. TL; DR: no hagas esto. Nunca. Es malo, y a menudo rompe cosas que aún no están rotas. – aggregate1166877

35

Tenía el mismo problema. No descargue npm de aptitude o apt-get.

en lugar de tratar:

git clone git://github.com/isaacs/npm.git 
cd npm/scripts 
chmod +x install.sh 
sudo ./install.sh 

vio aquí: NPM can't install appjs. Error: Cannot find module 'graceful-fs'

+0

Usé esta solución para instalar la última versión de node.js en Ubuntu – Pradeep

+0

Esto funcionó para mí en OS X 10.9. Originalmente había actualizado el nodo solamente, pero se requiere esta corrección para enderezar npm. – sambecker

+0

vaya a su directorio de usuario, elimine el archivo 'npm', y luego vaya a cmd y reinstale npm – Kyle

0

soy un confeso del muppet cuando se trata de Linux, pero rfumbled mi camino hacia una solución. Estoy ejecutando Ubuntu 12.04 y estaba teniendo el mismo problema.Intentado esto y funcionó para mí, tal vez un hombre mejor que me puede explicar por qué, e incluso podría funcionar para usted:

sudo npm install socket.io 

que había instalado previamente NPM y el nodo de Git y todo parecía estar funcionando hasta que intentara instale menos y obtenga el mismo error que OP.

7

Así que después de la instalación de node_js y MNP, que estaba teniendo el mismo problema

my-app$ locate graceful-fs 
/usr/lib/nodejs/graceful-fs 
... some other junk we don't care about ... 
my-app$ export NODE_PATH=/usr/lib/nodejs 
my-app$ npm update 
... it works ... 
0

Lo mismo sucede en Windows si se instala en un directorio personalizado. Debe desinstalar e instalar nuevamente en la ruta predeterminada.

1

Tenía problema similar en Ubuntu durante la instalación de PhoneGap, fijo con

sudo npm install graceful-fs 
+0

También estoy en Ubuntu y tuve este problema. Esta fue la solución que lo solucionó para mí. – JPollock

3

Sólo por mis dos centavos. instalo con

sudo npm install -g graceful-fs 

Esta instalación agraciados-FS a nivel mundial y se resolvió mi problema.

1

Uso Windows; similares deben trabajar en Mac y Linux

NPM en Córdoba mal y Cordova utiliza NPM privada

vaya a C: \ Users \ sssca_000 \ AppData \ Roaming \ NPM \ node_modules \ Cordova \ node_modules Cambiar nombre de NGP a npm_XXX

Vaya a C: \ Users \ sssca_000 \ AppData \ Roaming \ npm \ node_modules Aquí es donde reside el npm real Copie el directorio de npm desde aquí a C: \ Users \ sssca_000 \ AppData \ Roaming \ npm \ node_modules \ cordova \ node_modules

¡Funcionó bien para mí!

+0

No creo que esto sea útil; no diagnostica el problema en absoluto, y no sugiere una solución. (En el mejor de los casos, es un comentario). –

0

La solución para mí en Windows 10 después de instalar la última versión estable del nodo

  • Extracción del directorio de NPM actual en las principales nodejs directorio/node_modules
  • La clonación de la última acumulación de NPM https://github.com/npm/npm.git en los nodejs/node_modules dir
0

En mi caso de CENTOS 7, tuve que eliminar los archivos de la versión anterior de lib.

rm -rf /usr/lib/node_modules/* 

¡Después de eso un yum reinstall nodejs resuelto!

Cuestiones relacionadas