NPM,无论我做什么,都找不到'优美的fs'

这是我在尝试为node.js安装express时得到的

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) 

我甚至尝试了其他人,仍然有同样的错误。 我做了一些挖掘,我确实在我的服务器上find了“gracefui-fs”。

我在亚马逊ec2服务器上运行ubuntu 12.04 LTS。 节点安装没有错误,npm仍然没有工作。 我也un安装并重新安装npm使用

 apt-get 

以及来源。 在安装过程中我也没有收到任何错误

       

网上收集的解决方案 "NPM,无论我做什么,都找不到'优美的fs'"

有同样的问题。 不要从aptitudeapt-get下载npm

请尝试:

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

在这里看到: NPM不能安装appjs。 错误:无法find模块'优美fs'

我有同样的问题。

 sudo npm install 

为我解决了它。

我也在使用Ubuntu 12.04,并且遇到了同样的问题(尽pipe我不认为这是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) 

所以我试图找出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 

作为参考,这些是一些链接:

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

确认使用的是“/ usr / bin / npm”:

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

所以我试图打电话给最新的一个,这似乎是诀窍:

 grimbo@grimbo-ubuntu-12:~/git/SyntaxHighlighter$ /usr/local/n/versions/0.8.7/bin/npm install npm WARN package.json SyntaxHighlighter@3.0.83 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 jake@0.3.14 should be installed with -g uglify-js@1.3.3 node_modules/uglify-js less@1.3.0 node_modules/less minimatch@0.2.6 node_modules/minimatch +-- lru-cache@2.0.1 jake@0.3.14 node_modules/jake +-- utilities@0.0.11 +-- minimatch@0.0.5 (lru-cache@1.0.6) 

最终,看起来也许是因为我已经安装了其他版本的node和npm,只是感到困惑。

所以在安装node_js和npm之后,我遇到了同样的问题

 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 ... 

只是我的两分钱。 我安装

 sudo npm install -g graceful-fs 

这安装在全球范围内,并解决了我的问题。

默认情况下,Node在../CollinsProject/node_modules查找项目中的../CollinsProject/node_modules

尝试移动优美的FS到这个文件夹,它应该工作。

如果要安装要在全局(跨越其他项目)使用的模块,请将graceful-fs文件夹移至/usr/local/lib/node_modules

在安装phonegap的时候在Ubuntu上也遇到了类似的问题,修复了

 sudo npm install graceful-fs 

我使用Windows; 类似的应该在Mac和Linux上工作

尼科尔在cordova错误和cordova使用私人npm

请转到C:\ Users \ sssca_000 \ AppData \ Roaming \ npm \ node_modules \ cordova \ node_modules将npm重命名为npm_XXX

从C:\ Users \ sssca_000 \ AppData \ Roaming \ npm \ node_modules \ cordova \ node_modules将npm目录复制到C:\ Users \ sssca_000 \ AppData \ Roaming \ npm \ node_modules

它为我工作得很好!

我是一个自认的木偶,当涉及到Linux,但我的方式rfumbled到解决scheme。 我正在运行的Ubuntu 12.04,并有同样的问题。 试过这个,它为我工作,也许比我更好的人可以解释为什么,甚至可以为你工作:

 sudo npm install socket.io 

我以前安装npm和节点从git和所有似乎正在工作,直到我试图安装less,并得到同样的错误作为OP。

如果您安装在自定义目录中,也会在Windows上发生同样的情况。 您必须在默认path下再次卸载并安装。

我碰到同样的问题,在网上search后,唯一对我有用的是重新安装nodejs,nodejs-dev和npm。 我遵循这个网站的指示: https : //github.com/joyent/node/wiki/installing-node.js-via-package-manager

在安装最后一个稳定版本的节点之后,我在Windows 10上的解决scheme

在我的CENTOS 7的情况下,我不得不删除旧版本的lib文件。

 rm -rf /usr/lib/node_modules/* 

之后, yum reinstall nodejs解决!