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
以及来源。 在安装过程中我也没有收到任何错误
有同样的问题。 不要从aptitude
或apt-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
- 删除主目录nodejs / node_modules中的当前npm目录
- 将npm https://github.com/npm/npm.git的最后一个版本克隆到nodejs / node_modules目录中
在我的CENTOS 7的情况下,我不得不删除旧版本的lib文件。
rm -rf /usr/lib/node_modules/*
之后, yum reinstall nodejs
解决!