Недавно я переключился на 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 и все остальные плагины и модули установлены (и даже переустановлены через rm -rf node_modules
) в папке / 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
То, что я пытался сделать, это перейти на Node v.5 через n ( https://www.npmjs.com/package/n ) - это сработало. Затем удалите все node_modules
папки, затем выполните
npm info graceful-fs -v
3.3.6
Хорошо, давайте обновим или удалим и установим новое:
npm i graceful-fs@latest
npm i graceful-fs@4.1.4
sudo npm i graceful-fs@4.1.4 -g
все результаты в
npm info graceful-fs -v
3.3.6
Так что теперь я застрял с graceful-fs 3.3.6 или даже хуже в некоторых зависимостях модулей, таких как
$ 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.
Какой может быть стратегия здесь:
- Вручную исправьте все deps, которые содержат graceful-fs <4.0.0?
- Есть какой-то глобальный переключатель для использования конкретной версии пакета?
- Переустановить все?