web-dev-qa-db-fra.com

NPM, impossible de trouver 'graceful-fs', peu importe ce que je fais

C'est ce que je reçois quand j'essaie d'installer Express pour node.js

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)

J'ai même essayé d'autres personnes et j'ai toujours la même erreur. J'ai fait des recherches et j'ai trouvé 'gracefui-fs' sur mon serveur.

J'exécute Ubuntu 12.04 LTS sur un serveur Amazon ec2. Le noeud installé sans erreur et npm ne fonctionnaient toujours pas. J'ai également installé et réinstallé npm en utilisant 

apt-get

ainsi que de la source. Pendant l'installation, je n'ai reçu aucune erreur non plus.

27
Collin McGuire

Avait le même problème. Ne téléchargez pas npm à partir de aptitude ou apt-get

Au lieu d'essayer:

git clone --depth=1 git://github.com/npm/cli.git
cd cli/scripts
chmod +x install.sh
Sudo ./install.sh

vu ici: NPM ne peut pas installer appjs. Erreur: Impossible de trouver le module 'graceful-fs'

35
Giuliani

J'ai eu le même problème.

Sudo npm install 

résolu pour moi.

19
Max

J'utilisais également Ubuntu 12.04 et je rencontrais le même problème (bien que je ne pense pas que ce soit spécifiquement la faute d'Ubuntu).

grimbo@grimbo-ubuntu-12:~/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)

J'ai donc essayé de comprendre d'où venait npm:

grimbo@grimbo-ubuntu-12:~/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

Pour référence, voici quelques liens:

/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*

Confirmation que c'était "/ usr/bin/npm" qui était utilisé:

grimbo@grimbo-ubuntu-12:~/git/SyntaxHighlighter$ which npm
/usr/bin/npm

J'ai donc essayé d'appeler le dernier en particulier, qui semblait faire l'affaire:

grimbo@grimbo-ubuntu-12:~/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 fin de compte, cela ressemble peut-être au fait que j’ai eu d’autres versions de node et npm installées dans le passé, cela a été confondu.

14
Paul Grime

Donc, après l'installation de node_js et de npm, j'avais le même problème

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 ...
9
Kevin Meyer

Juste pour mes deux cents . J'installe avec

Sudo npm install -g graceful-fs

Cette installation gracieuse-fs globalement et cela a résolu mon problème.

3
Prut Udomwattawee

Par défaut, Node recherche les modules de votre projet dans ../CollinsProject/node_modules

Essayez de déplacer graceful-fs dans ce dossier et cela devrait fonctionner. 

Si vous souhaitez installer le module à utiliser globalement (sur d'autres projets), déplacez le dossier graceful-fs vers /usr/local/lib/node_modules.

1
joshhua

J'utilise Windows similaire devrait fonctionner sous Mac et Linux

npm in cordova se trompe et cordova utilise npm privé

accédez à C:\Utilisateurs\sssca_000\AppData\Roaming\npm\node_modules\cordova\node_modules Renommez npm en npm_XXX

Allez à C:\Utilisateurs\sssca_000\AppData\Roaming\npm\noeud_modules C'est ici que réside le npm réel Copiez le répertoire npm d'ici dans C:\Users\sssca_000\AppData\Roaming\npm\noeud_modules\cordova\node_modules

Cela a bien fonctionné pour moi!

1
Jayanta

Avait un problème similaire sur Ubuntu lors de l’installation de phonegap, corrigé avec

Sudo npm install graceful-fs
1
Artjom Kurapov

J'avais la version Mint Node.js 8.x mais ai mis à niveau via la commande n à 11.x. Le problème était que n/npm ne remplace que binaire ou lien dans le répertoire /usr/local/bin, mais pas dans le répertoire /usr/bin. Donc, vous devriez remplacer /usr/bin/node-gyp par /usr/local/bin/node-gyp content:

Sudo cp -f -s /usr/local/bin/node-gyp /usr/bin/node-gyp

0
VolodymyrB

Dans mon cas CENTOS 7, je devais supprimer les anciens fichiers de version lib. 

rm -rf /usr/lib/node_modules/*

Après cela, un yum reinstall nodejs résolu!

0
LeoPucciBr

Il en va de même pour Windows si vous installez dans un répertoire personnalisé. Vous devez désinstaller et installer à nouveau sous le chemin par défaut.

0
Nux

J'ai résolu le problème sous Linux ubuntu de la manière suivante:

1. J'ai supprimé nvm par la commande suivante: Sudo apt-get remove nvm

puis: 

git clone https://github.com/creationix/nvm.git ~/nvm
//For start node you have to run this command every time if you do not add in .profile etc
. ~/nvm/nvm.sh
// Now Install latest stable version of NodeJS
nvm install v5.7.1
// Check installed nodejs version
nvm ls
//You can set which nodejs version you want to use
nvm use v5.7
0
Ashfaq Muhammad

La solution pour moi sur Windows 10 après l'installation de la dernière version stable de noeud

  • Suppression du répertoire npm actuel dans le répertoire principal nodejs/node_modules 
  • Clonage de la dernière version de npm https://github.com/npm/npm.git dans le répertoire nodejs/node_modules 
0
henkieee

Je suis un muppet qui a avoué lui-même quand il s'agit de linux mais qui a trébuché sur une solution. Je cours Ubuntu 12.04 et avait le même problème. J'ai essayé et cela a fonctionné pour moi. Peut-être qu'un homme meilleur que moi peut expliquer pourquoi et pourrait même fonctionner pour vous:

Sudo npm install socket.io

J'avais précédemment installé npm et node à partir de git et tout semblait fonctionner jusqu'à ce que j'essaye d'installer moins et reçois la même erreur que OP.

0
SwiftD

Je suis tombé sur le même problème et après une recherche en ligne, la seule chose qui a fonctionné pour moi a été de réinstaller nodejs, nodejs-dev et npm. J'ai suivi les instructions de ce site: https://github.com/joyent/node/wiki/installing-node.js-via-package-manager

0
Christie