Не удается найти модуль 'internal/fs' после обновления до узла 7



мы недавно пытались обновить до узла v7. 0. 0 на нашем сервере сборки, но начали возникать проблемы во время сбоя задачи сборки приложения на "bower_concat" шаг:



Loading "bower-concat.js" tasks...ERROR
Error: Cannot find module 'internal/fs'


что мы установили:





  • node v7.0. 0 (устанавливается через yumрепозиторий"nodesource")


  • npm 4.0.1

  • используя grunt (если это имеет значение)


  • grunt-bower-concat 0.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?





есть еще этот актуальный вопрос, но, на данный момент, информация там не помогает в нашем случае.

809   17  

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 update etc. всегда возвращайте ту же ошибку

это работает для меня:

  1. очистить кэш НПМ вручную путем удаления папки npm-cache, расположенной по адресу

C:\Users[usrname]\AppData\Roaming\

  1. удалить/переименовать НПМ папка в моем каталоге установки NodeJS. В этом случае я переименовываю папку npm в npm-- на

C:\Program файлы\nodejs\node_modules

  1. переустановите NodeJS v7

тогда все работает нормально

при использовании mac

cd ~/.nvm/versions

и удалить папку узла

Я решаю эту проблему, установив 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

1) sudo npm cache clean-f

2) sudo npm install-g n

3) sudo N stable

Всего Три Шага :)

Если вы используете n обновить node версии и все команды npm не работают с этим сообщением, что означает, что у вас есть последний узел, но более старая версия npm.

Так что в этом случае сделайте следующее, (может понадобиться sudo)

n 4.7 npm install npm -g n latest

он вернется к узлу 4.7, а затем установит последний npm, используя его. после чего он вернется к последней версии npm. (замените последнюю версию на любую версию, которую вы действительно хотите)

Run

sudo rm -rf /usr/local/lib/node_modules/npm

снова НПМ установки. Это будет работать

Comments

    Ничего не найдено.