最近私はNode v.6に切り替えました、そしてそれは通常のビルドgrunt/gulp/webpackを実行することでますます多くの問題を引き起こし始めました
例えば:
$ gulp
[14:02:20] Local gulp not found in ~/_Other/angular-2-ts/angular2-seed
[14:02:20] Try running: npm install gulp
gulpと他のすべてのプラグインやモジュールは/ node_modulesフォルダにインストールされています(そしてrm -rf node_modules
経由で再インストールされます)。
これらのエラーのほとんどは次のような行があります
(node:42) fs: re-evaluating native module sources is not supported.
If you are using the graceful-fs module,
please update it to a more recent version.
42を任意の数として
私が提出したその号のように - angular2-seedリポジトリ https://github.com/mgechev/angular2-seed/issues/902
私がやろうとしたことはn( https://www.npmjs.com/package/n )を介してNode v.5にダウングレードすることです - それはうまくいきました。それからすべてのnode_modules
フォルダを削除してから、
npm info graceful-fs -v
3.3.6
さて、newをアップグレードまたは削除してインストールしましょう。
npm i graceful-fs@latest
npm i [email protected]
Sudo npm i [email protected] -g
のすべての結果
npm info graceful-fs -v
3.3.6
だから今私は graceful-fs 3.3.6 で行き詰まっています。
$ angular2-seed
$ npm install
//other lines..
npm WARN deprecated [email protected]: graceful-fs v3.0.0 and before
will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0
as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
ここでの戦略は何だろう:
私はこの問題を抱えていて、npm
を更新することでこれを修正することができました
Sudo npm update -g npm
更新前のnpm info graceful-fs | grep 'version:'
の結果は次のとおりです。
version: '3.3.12'
更新後の結果は以下のとおりです。
version: '3.9.3'
npm list graceful-fs
と入力すると、現在どのバージョンのgraceful-fsがインストールされているかがわかります。
私の場合は、
npm list graceful-fs
@request/[email protected] /projects/request/promise-core
+-- [email protected]
| `-- [email protected]
| +-- [email protected]
| | `-- [email protected]
| | `-- [email protected]
| | `-- [email protected]
| | `-- [email protected] <==== !!!
| `-- [email protected]
`-- [email protected]
+-- [email protected]
| `-- [email protected]
| `-- [email protected]
| `-- [email protected]
| `-- [email protected]
`-- [email protected]
`-- [email protected]
`-- [email protected]
ご覧のとおり、gulp
は非常に古いバージョンに依存しています。残念ながら、npm update graceful-fs
を使って自分自身を更新することはできません。 gulp
はそれらの依存関係を更新する必要があるでしょう。あなたがこのようなケースを持っているのであれば、あなたは運が悪いです。しかし、古い依存関係、つまりgulp
を使ってプロジェクトの問題を開くことができます。
再インストールgulpでこのバグを解決しました
npm uninstall gulp
npm install gulp
私はそれを修正することができました:
package.json
による更新npm install
を実行するNode_modulesフォルダーの内容を削除して実行中
npm install bower
npm install
私のために問題を解決しました!
Cordovaが、graceful-fs依存関係を持った独自のnpmを持ってくることを指摘するために、Cordovaを使用する場合は、それが最新のものであることを確認してください。
nvmを実行している場合は、nvm use <desired-node-version>
を実行することをお勧めします。これにより、ノードとnpmの一貫性が保たれます。
私のCordova-projectの場合、cordova -gをアンインストールしてインストールすると問題が解決しました。
npm uninstall -g cordova
npm install -g cordova
レポートには記載されています:ファイルがありません... vendor/win32-x64-48/binding.node
Binding.nodeファイルを探したところ、ファイルが見つかりました。
https://github.com/sass/node-sass-binaries
Binding.nodeという名前で正しいファイルをコピーしてください。
あるいはnode
を更新してみてください。
brew upgrade node
それがbrew
でインストールされている場合(私の場合のように)。 Sudo npm update -g npm
は私にとって「同じ」問題を解決しませんでした。