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

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

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

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

  • node v7.0.0 (устанавливается через yum "nodeource" репозиторий)
  • 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'
    ]
);

И задача grunt 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"
            ]
        }
    }
}, 

Обратите внимание, что он работает без проблем на node v6.9.0.

Что может быть причиной проблемы? Можем ли мы решить проблему без перехода на node v6?


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

Ответ 1

Сначала откройте консоль как администратор (или в терминале с sudo, если это Linux) и:

npm cache clean

Edit:

Для окон вы можете не очистить кеш, поэтому вы можете удалить кеш вручную, удалив все содержимое следующей папки:

C:\Users\<USER-NAME>\AppData\Roaming\npm-cache

Спасибо "superwf", этот случай может случиться для некоторых, но мне никогда не приходилось это делать (возможно, из-за моего самого низкого уровня безопасности?).

End Edit.


Затем вернитесь в обычную консоль (не администратор или root), вернитесь в каталог проекта, где находится package.json, а затем удалите папку node_modules из своего проекта, полностью удалите ее, а затем установите node снова внутри папки проекта:

npm install

Возможно, вам придется обновить модули перед установкой модулей еще раз. Я рекомендую это, но будьте осторожны с нарушением изменений, если в ваших модулях происходят серьезные изменения версии. Этот модуль npm-check-updates может помочь вам проверить последнюю версию и обновить ее.

Кроме того, вам, возможно, потребуется установить последние глобальные модули, проверьте обновления:

ncu -g

или

npm outdated -g

Если вы все еще застряли, вам может потребоваться удалить глобальную папку node_modules и снова установить то, что вы хотите.

Ответ 2

В моем случае очистка кеша (OSX) не сработала. Я использую n для управления node, что приводит к тому, что npm может быть устаревшим. Согласно n docs вы можете обновить npm с помощью

curl -0 -L https://npmjs.org/install.sh | sudo sh

Ответ 3

В linux, когда я обновляюсь до node 7, это произошло, "npm cache clean" работает.

В окнах npm cache clean также генерирует

Ошибка: не удается найти модуль 'internal/fs'

Просто удалите

C:\Users [имя пользователя]\AppData\Roaming\НПМ

C:\Users [имя пользователя]\AppData\Roaming\NPM-кэш

решена

Ответ 4

В моем случае очистка кеша не сработала. Ниже было мое начальное состояние и как я решил это:

node -v v7.4.0
npm -v 4.0.5

Ответ 5

Я использую n tool для управления переключением между версиями node (и в комплекте с npm).

Чтобы исправить эту ошибку, я просто удалил npm из глобального пространства (macOS): sudo rm -rf /usr/local/lib/node_modules/npm

Затем я снова запустил sudo n. Это приведет к переустановке npm. При возврате к предыдущей версии node просто запустите 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

Ответ 6

Вам нужно установить последнюю версию bower

> npm install -g bower

По-видимому, npm > 4.0 не используют внутренний/fs-модуль.

Ответ 7

В моем случае очистка кеша не сработала. Что работала при удалении папки node_modules/npm в моем месте установки nodejs. Затем снова запустите установщик nodejs и воспользуйтесь опцией "repair" (обратите внимание: это для Windows).

Из того, что я мог собрать в журнале отладки npm, похоже, что моя старая версия npm не была полностью удалена до того, как была установлена ​​новая версия. Таким образом, в папке, где была установлена ​​npm, были некоторые устаревшие модули.

Ответ 8

Я нахожусь в Windows 8.1 x64, обновляясь с v6 до v7. Я получил эту проблему при глобальной установке У меня уже установлено много пакетов, но каждый раз, когда я запускал команду npm, всегда ли npm install, npm list,npm update и т.д. Возвращать ту же ошибку

Этот шаг работает для меня:

  • Очистить кеш npm вручную, удалив папку npm-cache, расположенную в

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

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

C:\Program Files\nodejs\node_modules

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

Все работает отлично, тогда

Ответ 9

Если вы используете mac

cd ~/.nvm/versions

и удалите папку node

Ответ 11

Решение, которое работало для меня, заключалось в

1) Удалить node_modules/

sudo rm -R node_modules/ 

2) Повторно запустите gulp

gulp

Ответ 12

В Win10 это сработало для меня: (приспосабливайтесь к соответствующей версии node и имени пользователя)

  • Удалить node (через node -v7.8.0-x64.msi)
  • Удалите "npm" и "npm-cache" в папках "C:\Users\yourusername\AppData\Roaming
  • Еще раз установите node (через node -v7.8.0-x64.msi)

Ответ 13

Включите эту проблему после обновления Node v4.X до версии v7.8.0. Переустановив NPM и последнюю проверку, я получил рабочий NPM v4.5.0.

curl -L https://www.npmjs.com/install.sh | sh
npm install [email protected] -g

Ответ 14

Ни один из ответов не работал у меня.

В конце я переустановил node и ионный, и это сделало трюк:

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

Ответ 15

1) sudo npm cache clean -f

2) sudo npm install -g n

3) sudo n stable

Всего три шага:)

Ответ 16

Run

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

Опять npm install. Он будет работать