これは、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)
私も他の人を試してみましたが、それでも同じエラーが発生しました。掘り下げてみましたが、サーバー上で 'gracefui-fs'が見つかりました。
Amazon ec2サーバーでubuntu 12.04 LTSを実行しています。 Nodeエラーなしでインストールされ、npmはまだ動作しませんでした。
apt-get
同様にソースから。インストール中にエラーも表示されませんでした。
同じ問題がありました。 npm
またはapt-get
からaptitude
をダウンロードしないでください。
代わりに試してください:
git clone --depth=1 git://github.com/npm/cli.git
cd cli/scripts
chmod +x install.sh
Sudo ./install.sh
同じ問題がありました。
Sudo npm install
私のためにそれを解決しました。
私もUbuntu 12.04を使用していましたが、これと同じ問題を抱えていました(特に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 [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])
最終的には、ノードと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 ...
私の2セントだけです。でインストールする
Sudo npm install -g graceful-fs
これにより、graceful-fsがグローバルにインストールされ、問題が解決しました。
Phonegapのインストール中にUbuntuで同様の問題が発生しました。
Sudo npm install graceful-fs
Mint Node.js 8.xバージョンがありましたが、n
コマンドで11.xにアップグレードしました。問題は、n
/npm
が/usr/local/bin
ディレクトリ内のバイナリまたはリンクのみを置き換え、/usr/bin
ディレクトリ内は置き換えないことでした。したがって、/usr/bin/node-gyp
を/usr/local/bin/node-gyp
コンテンツに置き換える必要があります。
Sudo cp -f -s /usr/local/bin/node-gyp /usr/bin/node-gyp
デフォルトではNodeは../CollinsProject/node_modules
でプロジェクト内のモジュールを探します。
Graceful-fsをこのフォルダーに移動してみてください。動作するはずです。
モジュールを(他のプロジェクト全体で)グローバルに使用するようにインストールする場合は、graceful-fsフォルダーを/usr/local/lib/node_modules
に移動します。
私はWindowsを使用しています。 MacおよびLinuxでも同様に機能するはずです
コルドバのnpmが間違っており、コルドバはプライベート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に移動しますこれは実際のnpmが存在する場所ですここからnpmディレクトリをC:\ Users\sssca_000\AppData\Roaming\npm\node_modules\cordova\node_modulesにコピーします
うまくいきました!
CENTOS 7の場合、古いバージョンのlibファイルを削除する必要がありました。
rm -rf /usr/lib/node_modules/*
その後、yum reinstall nodejs
解決しました!
カスタムディレクトリにインストールすると、Windowsでも同じことが起こります。デフォルトのパスでアンインストールしてから再度インストールする必要があります。
私はこの方法でLinux ubuntuの問題を修正しました:
1。コマンドでnvmを削除しました:Sudo apt-get remove nvm
その後:
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
ノードの最後の安定バージョンをインストールした後のWindows 10での私のためのソリューション
私はLinuxのことを自白しているマペットですが、解決策を見つけました。私はubuntu 12.04を実行していますが、同じ問題を抱えていました。これを試してみたところ、私にとってはうまくいきました。おそらく、私よりも優れた人が理由を説明し、あなたのために働くかもしれません。
Sudo npm install socket.io
以前にgitからnpmとnodeをインストールしましたが、インストールを減らしてOPと同じエラーが発生するまで、すべてが動作しているように見えました。
同じ問題に遭遇し、オンラインで検索した後、nodejs、nodejs-dev、およびnpmを再インストールするだけでうまくいきました。このサイトの指示に従いました: https://github.com/joyent/node/wiki/installing-node.js-via-package-manager