Не удается найти модуль 'internal/fs' после обновления до узла 7
мы недавно пытались обновить до узла v7. 0. 0 на нашем сервере сборки, но начали возникать проблемы во время сбоя задачи сборки приложения на "bower_concat" шаг:
Loading "bower-concat.js" tasks...ERROR
Error: Cannot find module 'internal/fs'
что мы установили:
nodev7.0. 0 (устанавливается черезyumрепозиторий"nodesource")
npm4.0.1- используя
grunt(если это имеет значение)
grunt-bower-concat0.6.0
конфигурация задачи сборки grunt:
grunt.registerTask(
'build:prod', [
'clean:prod',
'copy:prod',
'replace',
'bower_concat',
'ngtemplates',
'concat',
'uglify',
'cssmin',
'injector:prod',
'copy:cssfix',
'copy:dist',
'bowercopy:dist',
'bowercopy:fonts',
'template:setProdVersion'
]
);
и хрюкать bower_concat задачи:
bower_concat: {
all: {
dest: '<%= app.build %>/bower.js',
cssDest: '<%= app.build %>/bower.css',
dependencies: {
'bootstrap': 'jquery'
},
mainFiles: {
"angular-app-modules": [
"app/dist/angular-app-modules.min.js",
"app/dist/angular-app-modules.min.css"
]
}
}
},
обратите внимание, что он работает без каких-либо проблем на узле В6.9.0.
что может быть причиной проблемы? Можем ли мы обойти эту проблему без понижения до узла v6?
есть еще этот актуальный вопрос, но, на данный момент, информация там не помогает в нашем случае.
17 ответов:
во-первых, откройте консоль от имени администратора (или в терминале с
sudoесли это Linux) и:npm cache cleanдля НПМ 5 и выше
npm cache clean --force
Edit:
для windows вы можете не очистить кэш, поэтому вы можете удалить кэш вручную, удалив все следующее содержимое папки:
C:\Users\<USER-NAME>\AppData\Roaming\npm-cacheспасибо "superwf", этот случай может произойти для некоторых, но мне никогда не приходилось этого делать (возможно, из-за моего низкий уровень безопасности?!).
Завершить Редактирование.
затем вернитесь в обычную консоль (не администратор или root), вернитесь в каталог проекта, где находится пакет.json находится, а затем удалить
node_modulesпапка из вашего проекта, удалите его полностью, а затем снова установите модули узлов в папке проекта:npm installвозможно, Вам потребуется обновить модули перед повторной установкой модулей. Я рекомендую это, но будьте осторожны с изменениями если есть какие-либо серьезные изменения версии в ваши модули. Этот модуль npm-check-updates может помочь вам, чтобы проверить последнюю версию и обновить их.
кроме того, возможно, Вам также нужно установить последние глобальные модули, проверьте обновления:
ncu -gили
npm outdated -gесли вы все еще застряли, вам может потребоваться удалить глобальный и переустановить то, что вы хотите снова.
Edit:
опции пряжи: некоторые люди закончились с теми же проблемами, даже с процедурами очистки, на самом деле вы экономите свое время много, используя пряжа. Лично я начал использовать
yarnвместоnpm i, я могу гарантировать, что это быстрее, и сэкономить ваше время, и ваша голова от головной боли npm.
в моем случае очистка кэша (OSX) не работала. Я использую
nдля управления узлом, который вызываетnpmпотенциально быть устаревшими. Согласно Н документы вы можете обновитьnpmС:curl -0 -L https://npmjs.org/install.sh | sudo sh
в linux,когда я обновляюсь до узла 7, это произошло, "npm cache clean"работает.
в windows, npm cache clean также генерирует
ошибка: не удается найти модуль 'internal / fs'
просто удалить
C:\Users[имя пользователя]\AppData\Roaming\npm
C:\Users[имя пользователя]\AppData\Roaming\npm-cache
решить
в моем случае очистка кэша не работает. Ниже было мое начальное состояние и как я решил это:
node -v v7.4.0 npm -v 4.0.5Я решил, выполнив следующие действия и используя N manager:
$ sudo n 6.9.1 $ sudo npm -g install npm@next $ sudo n stableнадеюсь, что это помогает!
Я использую инструмент Н для управления переключением между версиями node (и npm в комплекте).
чтобы исправить эту ошибку, я просто удалил npm из глобального пространства (macOS):
sudo rm -rf /usr/local/lib/node_modules/npmзатем я повторно запустил sudo N latest. Это позволит переустановить npm. При переключении на предыдущую версию узла просто запустите sudo n 4.3.2.
в итоге:
> sudo rm -rf /usr/local/lib/node_modules/npm > sudo n latest > node --version v7.7.1 > npm --version 4.1.2 > sudo n 4.3.2 > npm --version 2.14.12
решение, которое сработало для меня, было
1) удалить node_modules/
sudo rm -R node_modules/2) повторно запустить залпом
gulp
вам нужно установить последнюю версию bower
> npm install -g bowerпо-видимому, npm > 4.0 не используют внутренний / fs модуль.
в моем случае очистка кэша не работает. То, что действительно работало, удаляло
node_modules/npmпапка в моем месте установки nodejs. Затем снова запустите установщик nodejs и используйте опцию "repair" (Примечание: это для Windows).из того, что я мог собрать в журнале отладки npm, похоже, что моя старая версия npm не была полностью удалена до установки новой версии. Таким образом, в папке, где был установлен npm, были некоторые устаревшие устаревшие модули.
Я на Windows 8.1 x64, обновление с v6 до v7. Я получил эту проблему на глобальной установке У меня уже установлено много пакетов, но каждый раз, когда я запускал команду npm, будь то
npm install, npm list,npm updateetc. всегда возвращайте ту же ошибкуэто работает для меня:
- очистить кэш НПМ вручную путем удаления папки npm-cache, расположенной по адресу
C:\Users[usrname]\AppData\Roaming\
- удалить/переименовать НПМ папка в моем каталоге установки NodeJS. В этом случае я переименовываю папку npm в npm-- на
C:\Program файлы\nodejs\node_modules
- переустановите NodeJS v7
тогда все работает нормально
Я решаю эту проблему, установив NVM для управления узлом
https://github.com/creationix/nvm#installation
после установки NVM переустановите узел
nvm install node
на Win10 это сработало для меня: (настройка на соответствующую версию узла и имя пользователя)
- удалить узел (через узел-v7.8.0-x64.msi)
- удалите папки ' npm 'и' npm-cache ' в 'C:\Users\yourusername\AppData\Roaming
- установите узел снова (через узел-v7.8.0-x64.msi)
столкнулся с этой проблемой после узла v4.X до V7.8.0 обновление. Повторная НПМ и последний чек, у меня на работе НПМ В4.5.0.
curl -L https://www.npmjs.com/install.sh | sh npm install npm@latest -g
ни один из ответов работал для меня.
в конце концов я переустановил node и ionic, и это сделало трюк:
npm cache clean -f npm install npm -g npm uninstall node npm install node -gмоя системная информация перед устранением проблемы:
Cordova CLI: 7.0.1 Ionic CLI Version: 1.7.11 <-- way too old Ionic App Lib Version: 0.6.5 ios-deploy version: 1.9.1 ios-sim version: 5.0.4 OS: Mac OS X El Capitan Node Version: v8.0.0 Xcode version: Xcode 8.3.3 Build version 8E3004b
Если вы используете
nобновитьnodeверсии и все команды npm не работают с этим сообщением, что означает, что у вас есть последний узел, но более старая версия npm.Так что в этом случае сделайте следующее, (может понадобиться sudo)
n 4.7 npm install npm -g n latestон вернется к узлу 4.7, а затем установит последний npm, используя его. после чего он вернется к последней версии npm. (замените последнюю версию на любую версию, которую вы действительно хотите)
Comments