Недавно я переключился на 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?
- Есть какой-то глобальный переключатель для использования конкретной версии пакета?
- Переустановить все?
источник
Ответы:
У меня была эта проблема, и я смог это исправить, обновив
npm
До обновления результат
npm info graceful-fs | grep 'version:'
был:После обновления результат:
источник
nvm use v6.2.1
npm info graceful-fs -v
возвращает версию npm (она совпадает с запущеннойnpm -v
) и НЕ graceful-fs. Чтобы получить версию graceful-fs, используйте что-то вродеnpm info graceful-fs | grep version:
.rm -rf node_modules && npm install
в домашней папке проекта.Введите,
npm list graceful-fs
и вы увидите, какие версии graceful-fs в настоящее время установлены.В моем случае я получил:
Как видите, в
gulp
глубине души зависит от очень старой версии. К сожалению, я не могу обновить это самостоятельноnpm update graceful-fs
.gulp
нужно будет обновить свои зависимости. Так что если у вас есть такой случай, вам не повезло. Но вы можете открыть вопрос для проекта со старой зависимостью - то естьgulp
.источник
gulp
это не изменится в версии 3, но только в версии 4: github.com/gulpjs/gulp/issues/1571graceful-fs
зависимость от модуля pre-v4 исходилаnpm
сама по себе (версия 3.10.3) черезcmd-shim@2.0.2
. Я не видел этого, пока не перечислил глобальныеgraceful-fs
зависимости, используяnpm list -g graceful-fs
.Решил эту ошибку с помощью переустановки gulp
источник
Удаление содержимого папки node_modules и запуск
решил проблему для меня!
источник
Как описано здесь , вы также можете попробовать команду
Это исправило это для меня, после того, как другие шаги не дали полностью результатов (кроме обновления всего).
источник
Просто чтобы указать, что cordova вводит свой собственный npm с зависимостью graceful-fs, поэтому, если вы используете Cordova, убедитесь, что он самый последний, поэтому вы также получите последние graceful-fs.
источник
Я смог это исправить:
package.json
npm install
источник
если вы работаете NVM вы можете запустить
nvm use <desired-node-version>
Это держит узел в соответствии с НПМисточник
Или попробуйте обновить
node
:Если он установлен с
brew
(как в моем случае).sudo npm update -g npm
не решил «ту же» проблему для меня.источник
В отчете говорится: файл отсутствует в ... vendor / win32-x64-48 / binding.node
Я искал файл binding.node и нашел его в ...
https://github.com/sass/node-sass-binaries
Скопируйте правильный файл с именем binding.node, и он работает.
источник
В случае моего Cordova-проекта удаление и установка cordova -g устранили проблему для меня.
источник