Baru-baru ini saya telah beralih ke Node v.6, dan mulai membuat lebih banyak masalah dengan menjalankan build normal grunt / gulp / webpack
Sebagai contoh:
$ gulp
[14:02:20] Local gulp not found in ~/_Other/angular-2-ts/angular2-seed
[14:02:20] Try running: npm install gulp
sementara tegukan dan semua plugin dan modul lainnya diinstal (dan bahkan diinstal ulang melalui rm -rf node_modules
) di folder / node_modules.
Sebagian besar kesalahan memiliki garis seperti
(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.
dengan 42 sebagai nomor acak
Seperti dalam masalah yang saya kirimkan - dalam repo angular2-seed https://github.com/mgechev/angular2-seed/issues/902
Apa yang saya coba lakukan adalah menurunkan versi ke Node v.5 via n ( https://www.npmjs.com/package/n ) - itu berhasil. Kemudian hapus semua node_modules
folder, lalu lakukan
npm info graceful-fs -v
3.3.6
ok, mari perbarui atau hapus dan pasang yang baru:
npm i graceful-fs@latest
npm i graceful-fs@4.1.4
sudo npm i graceful-fs@4.1.4 -g
semua hasil dalam
npm info graceful-fs -v
3.3.6
Jadi sekarang saya currenlty terjebak dengan anggun-fs 3.3.6 atau bahkan lebih buruk dalam beberapa dependensi modul, seperti
$ angular2-seed
$ npm install
//other lines..
npm WARN deprecated graceful-fs@1.2.3: 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.
Apa yang bisa menjadi strategi di sini:
- Secara manual menambal semua deps yang berisi anggun-fs <4.0.0?
- Ada beberapa peralihan global untuk menggunakan versi paket tertentu?
- Pasang kembali semuanya?
sumber
Jawaban:
Saya punya masalah ini dan saya bisa memperbaikinya dengan memperbarui
npm
Sebelum pembaruan, hasilnya
npm info graceful-fs | grep 'version:'
adalah:Setelah pembaruan, hasilnya adalah:
sumber
nvm use v6.2.1
npm info graceful-fs -v
mengembalikan versi npm (sama dengan menjalankannpm -v
) dan BUKAN anggun-fs. Untuk mendapatkan versi anggun-fs, gunakan sesuatu sepertinpm info graceful-fs | grep version:
.rm -rf node_modules && npm install
di folder home proyek.Ketik
npm list graceful-fs
dan Anda akan melihat versi anggun-fs mana yang saat ini diinstal.Dalam kasus saya, saya mendapat:
Seperti yang Anda lihat
gulp
jauh di dalam, tergantung pada versi yang sangat lama. Sayangnya, saya tidak dapat memperbarui itu sendirinpm update graceful-fs
.gulp
perlu memperbarui dependensi mereka. Jadi, jika Anda memiliki kasus seperti ini, Anda kurang beruntung. Tetapi Anda dapat membuka masalah untuk proyek dengan ketergantungan lama - yaitugulp
.sumber
gulp
tidak akan mengubahnya dalam versi 3 tetapi hanya dalam versi 4: github.com/gulpjs/gulp/issues/1571graceful-fs
ketergantungan modul pre-v4 berasal darinpm
dirinya sendiri (versi 3.10.3) via[email protected]
. Saya tidak melihat ini sampai saya mendaftar menggunakan dependensi global .graceful-fs
npm list -g graceful-fs
Mengatasi bug ini dengan menginstal ulang tegukan
sumber
Menghapus isi folder node_modules dan berjalan
memecahkan masalah untuk saya!
sumber
Seperti dijelaskan di sini , Anda juga dapat mencoba perintah
Itu memperbaikinya bagi saya, setelah langkah-langkah lain belum sepenuhnya memberikan hasil (selain memperbarui semuanya).
sumber
Hanya untuk menunjukkan bahwa cordova membawa npm itu sendiri dengan ketergantungan anggun-fs, jadi jika Anda menggunakan Cordova pastikan itu adalah yang terbaru sehingga Anda mendapatkan anggun-fs terbaru dari itu juga.
sumber
Saya dapat memperbaikinya dengan:
package.json
npm install
sumber
jika Anda menjalankan nvm Anda mungkin ingin menjalankan
nvm use <desired-node-version>
ini menjaga simpul konsisten dengan npmsumber
Atau coba perbarui
node
:Jika sudah diinstal dengan
brew
(seperti dalam kasus saya).sudo npm update -g npm
tidak memecahkan masalah "sama" untuk saya.sumber
Laporan itu mengatakan: file hilang di ... vendor / win32-x64-48 / binding.node
Saya mencari file binding.node dan saya menemukannya di ...
https://github.com/sass/node-sass-binaries
Salin file yang benar dengan nama binding.node dan berfungsi.
sumber
Dalam kasus proyek Cordova saya, menghapus dan menginstal cordova -g memperbaiki masalah bagi saya.
sumber