web-dev-qa-db-ja.com

NPM、私が何をしても「graceful-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)

私も他の人を試してみましたが、それでも同じエラーが発生しました。掘り下げてみましたが、サーバー上で 'gracefui-fs'が見つかりました。

Amazon ec2サーバーでubuntu 12.04 LTSを実行しています。 Nodeエラーなしでインストールされ、npmはまだ動作しませんでした。

apt-get

同様にソースから。インストール中にエラーも表示されませんでした。

27
Collin McGuire

同じ問題がありました。 npmまたはapt-getからaptitudeをダウンロードしないでください。

代わりに試してください:

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

NPMはappjsをインストールできません。エラー:モジュール 'graceful-fs'が見つかりません

35
Giuliani

同じ問題がありました。

Sudo npm install 

私のためにそれを解決しました。

18
Max

私も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の他のバージョンを過去にインストールしたことがあるため、混乱しているようです。

15
Paul Grime

だから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 ...
10
Kevin Meyer

私の2セントだけです。でインストールする

Sudo npm install -g graceful-fs

これにより、graceful-fsがグローバルにインストールされ、問題が解決しました。

4

Phonegapのインストール中にUbuntuで同様の問題が発生しました。

Sudo npm install graceful-fs
2
Artjom Kurapov

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

1
VolodymyrB

デフォルトではNodeは../CollinsProject/node_modulesでプロジェクト内のモジュールを探します。

Graceful-fsをこのフォルダーに移動してみてください。動作するはずです。

モジュールを(他のプロジェクト全体で)グローバルに使用するようにインストールする場合は、graceful-fsフォルダーを/usr/local/lib/node_modulesに移動します。

1
joshhua

私は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にコピーします

うまくいきました!

1
Jayanta

CENTOS 7の場合、古いバージョンのlibファイルを削除する必要がありました。

rm -rf /usr/lib/node_modules/*

その後、yum reinstall nodejs解決しました!

0
LeoPucciBr

カスタムディレクトリにインストールすると、Windowsでも同じことが起こります。デフォルトのパスでアンインストールしてから再度インストールする必要があります。

0
Nux

私はこの方法で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
0
Ashfaq Muhammad

ノードの最後の安定バージョンをインストールした後のWindows 10での私のためのソリューション

  • メインディレクトリnodejs/node_modulesの現在のnpmディレクトリを削除する
  • Npm https://github.com/npm/npm.git の最後のビルドをnodejs/node_modules dirに複製する
0
henkieee

私はLinuxのことを自白しているマペットですが、解決策を見つけました。私はubuntu 12.04を実行していますが、同じ問題を抱えていました。これを試してみたところ、私にとってはうまくいきました。おそらく、私よりも優れた人が理由を説明し、あなたのために働くかもしれません。

Sudo npm install socket.io

以前にgitからnpmとnodeをインストールしましたが、インストールを減らしてOPと同じエラーが発生するまで、すべてが動作しているように見えました。

0
SwiftD

同じ問題に遭遇し、オンラインで検索した後、nodejs、nodejs-dev、およびnpmを再インストールするだけでうまくいきました。このサイトの指示に従いました: https://github.com/joyent/node/wiki/installing-node.js-via-package-manager

0
Christie