npm ERR cb() никогда не вызывается

У меня есть приложение Node.js, размещенное на Heroku. Каждый раз, когда я делаю git push heroku Я получаю следующую ошибку:

Counting objects: 14, done.
Delta compression using up to 6 threads.
Compressing objects: 100% (12/12), done.
Writing objects: 100% (12/12), 1.20 KiB, done.
Total 12 (delta 8), reused 0 (delta 0)

-----> Node.js app detected
-----> Resolving engine versions
       Using Node.js version: 0.6.20
       Using npm version: 1.2.12
-----> Fetching Node.js binaries
-----> Vendoring node into slug
-----> Installing dependencies with npm
       npm http GET https://registry.npmjs.org/pg/0.6.15
       npm http GET https://registry.npmjs.org/socket.io
       npm http 200 https://registry.npmjs.org/pg/0.6.15
       npm http GET https://registry.npmjs.org/pg/-/pg-0.6.15.tgz
       npm http 200 https://registry.npmjs.org/socket.io
       npm http GET https://registry.npmjs.org/socket.io/-/socket.io-0.9.13.tgz
       npm http 200 https://registry.npmjs.org/pg/-/pg-0.6.15.tgz
       npm http 200 https://registry.npmjs.org/socket.io/-/socket.io-0.9.13.tgz
       npm http GET https://registry.npmjs.org/socket.io-client/0.9.11
       npm http GET https://registry.npmjs.org/policyfile/0.0.4
       npm http GET https://registry.npmjs.org/base64id/0.1.0
       npm http GET https://registry.npmjs.org/redis/0.7.3
       npm http GET https://registry.npmjs.org/generic-pool/1.0.9
       npm http 200 https://registry.npmjs.org/policyfile/0.0.4
       npm http GET https://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz

       npm http 200 https://registry.npmjs.org/base64id/0.1.0
       npm http GET https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz
       npm http 200 https://registry.npmjs.org/generic-pool/1.0.9
       npm http GET https://registry.npmjs.org/generic-pool/-/generic-pool-1.0.9
.tgz
       npm http 200 https://registry.npmjs.org/socket.io-client/0.9.11
       npm http GET https://registry.npmjs.org/socket.io-client/-/socket.io-clie
nt-0.9.11.tgz
       npm http 200 https://registry.npmjs.org/redis/0.7.3
       npm http GET https://registry.npmjs.org/redis/-/redis-0.7.3.tgz
       npm http 200 https://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz

       npm http 200 https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz
       npm http 200 https://registry.npmjs.org/generic-pool/-/generic-pool-1.0.9
.tgz
       npm http 200 https://registry.npmjs.org/socket.io-client/-/socket.io-clie
nt-0.9.11.tgz
       npm http 200 https://registry.npmjs.org/redis/-/redis-0.7.3.tgz

       > pg@0.6.15 install /tmp/build_36us8733h7kkr/node_modules/pg
       > node-waf configure build || (exit 0)

       Checking for program g++ or c++          : /usr/bin/g++
       Checking for program cpp                 : /usr/bin/cpp
       Checking for program ar                  : /usr/bin/ar
       Checking for program ranlib              : /usr/bin/ranlib
       Checking for g++                         : ok
       Checking for node path                   : not found
       Checking for node prefix                 : ok /tmp/node-node-nNUw
       Checking for program pg_config           : /usr/bin/pg_config
       'configure' finished successfully (0.058s)
       Waf: Entering directory `/tmp/build_36us8733h7kkr/node_modules/pg/build'
       [1/2] cxx: src/binding.cc -> build/Release/src/binding_1.o
       [2/2] cxx_link: build/Release/src/binding_1.o -> build/Release/binding.no
de
       Waf: Leaving directory `/tmp/build_36us8733h7kkr/node_modules/pg/build'
       'build' finished successfully (0.492s)
       npm http GET https://registry.npmjs.org/uglify-js/1.2.5
       npm http GET https://registry.npmjs.org/ws
       npm http GET https://registry.npmjs.org/xmlhttprequest/1.4.2
       npm http GET https://registry.npmjs.org/active-x-obfuscator/0.0.1
       npm http 200 https://registry.npmjs.org/active-x-obfuscator/0.0.1
       npm http GET https://registry.npmjs.org/active-x-obfuscator/-/active-x-ob
fuscator-0.0.1.tgz
       npm http 200 https://registry.npmjs.org/uglify-js/1.2.5
       npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz
       npm http 200 https://registry.npmjs.org/xmlhttprequest/1.4.2
       npm http GET https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1
.4.2.tgz
       npm http 200 https://registry.npmjs.org/ws
       npm http GET https://registry.npmjs.org/ws/-/ws-0.4.25.tgz
       npm http 200 https://registry.npmjs.org/active-x-obfuscator/-/active-x-ob
fuscator-0.0.1.tgz
       npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz
       npm http 200 https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1
.4.2.tgz
       npm http 200 https://registry.npmjs.org/ws/-/ws-0.4.25.tgz
       npm http GET https://registry.npmjs.org/zeparser/0.0.5
       npm http GET https://registry.npmjs.org/commander
       npm http GET https://registry.npmjs.org/tinycolor
       npm http GET https://registry.npmjs.org/options
       npm http 200 https://registry.npmjs.org/zeparser/0.0.5
       npm http GET https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz
       npm http 200 https://registry.npmjs.org/options
       npm http GET https://registry.npmjs.org/options/-/options-0.0.3.tgz
       npm http 200 https://registry.npmjs.org/tinycolor
       npm http GET https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz
       npm http 200 https://registry.npmjs.org/commander
       npm http GET https://registry.npmjs.org/commander/-/commander-0.6.1.tgz
       npm http 200 https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz
       npm http 200 https://registry.npmjs.org/options/-/options-0.0.3.tgz
       npm http 200 https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz
       npm http 200 https://registry.npmjs.org/commander/-/commander-0.6.1.tgz

       > ws@0.4.25 install /tmp/build_36us8733h7kkr/node_modules/socket.io/node_
modules/socket.io-client/node_modules/ws
       > (node-gyp rebuild 2> builderror.log) || (exit 0)

       make: Entering directory `/tmp/build_36us8733h7kkr/node_modules/socket.io
/node_modules/socket.io-client/node_modules/ws/build'
         CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
         SOLINK_MODULE(target) Release/obj.target/bufferutil.node
         SOLINK_MODULE(target) Release/obj.target/bufferutil.node: Finished
         COPY Release/bufferutil.node
         CXX(target) Release/obj.target/validation/src/validation.o
         SOLINK_MODULE(target) Release/obj.target/validation.node
         SOLINK_MODULE(target) Release/obj.target/validation.node: Finished
         COPY Release/validation.node
       make: Leaving directory `/tmp/build_36us8733h7kkr/node_modules/socket.io/
node_modules/socket.io-client/node_modules/ws/build'
       npm ERR! cb() never called!
       npm ERR! not ok code undefined
       npm ERR! cb() never called!
       npm ERR! not ok code 1
 !     Failed to install --production dependencies with npm
 !     Heroku push rejected, failed to compile Node.js app

To git@heroku.com:still-chamber-1286.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:still-chamber-1286.git'

Ошибка в последних нескольких строках: npm ERR! cb() никогда не вызывал! нпм ERR! не в порядке код неопределен нпм ERR! cb () никогда не вызывал! нпм ERR! не в порядке код 1! Не удалось установить зависимости --production с помощью npm! Heroku push отклонено, не удалось скомпилировать приложение Node.js

To git@heroku.com:still-chamber-1286.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:still-chamber-1286.git'

У меня не было проблем с передачей кода в Heroku; только с понедельника у меня появилась эта ошибка.

Я видел подобные посты в Интернете, ссылающиеся на слегка отличающиеся ошибки, но не видел ни одного с ! [remote rejected] master -> master (pre-receive hook declined) до.

64 ответа

Если у вас npm версии 5 или выше, попробуйте сначала:

$ sudo npm cache verify

Иначе:

$ sudo npm cache clean

Мои версии узла и npm:

$ node -v
v0.10.0

$ npm -v
1.2.14

https://docs.npmjs.com/cli/cache

Для всех, кто заходил на эту страницу около 29 сентября 2013 года, в Node.js 0.10.19 есть закрытая ошибка, которая вызывает эту ошибку.

https://github.com/isaacs/npm/issues/2907 https://github.com/joyent/node/issues/6263

Если вы работаете на Heroku, вам следует перейти на 0.10.20

"engines": {
    "node": "0.10.20"
}

Пытаться

sudo npm cache clean --force

Если вы обновили angular cli, npm, node, вам больше ничего не нужно делать. Просто выполните команду ниже, чтобы решить проблему. Эта команда также решает проблему "неожиданного конца строки".

npm install --no-package-lock

У меня была именно эта проблема при попытке установить тему Sage для WordPress. Когда я побежал npm install в каталоге темы это не удалось.

Глядя в зависимости в package.jsonЯ видел, что двигатель, на котором я работал, был устаревшим. Бег node -v в командной строке показал, что я был на v0.10.9, а последняя версия Sage требует>= 0.12.0

Так вот исправление для этого. Эти шаги взяты из блога Дэвида Уолша

  1. Очистите кэш npm: sudo npm cache clean -f
  2. Установите последнюю версию Node helper: sudo npm install -g n
  3. Скажите помощнику (n), чтобы установить последнюю стабильную версию Node: sudo n stable

Затем вы должны получить отображение прогресса, после чего вы будете в курсе.

Когда я побежал npm install после этого все работало нормально, и я смог запустить gulp построить начальный dist каталог.

У вас есть конкретная версия "npm" указано в "engines" в вашем package.json? Похоже, что NPM v1.2.15 решил проблему (и Heroku есть в наличии). У меня была такая же проблема с "1.1.x",

  • Бежать npm install -g npm
  • Тогда беги npm install

Обновление NodeJS https://nodejs.org/en/ Исправлена ​​моя проблема.

Бежать npm install -g npm & npm cache clean

Для меня ни одно из вышеперечисленных решений не помогло (переустановка, очистка кеша, папок и т. Д.).

Моя проблема была решена с помощью:

npm config set registry https://registry.npmjs.org/

Начиная с NPM 6, вы можете выполнять чистую установку.
Это было единственное решение, которое сработало для меня.

Просто запустите следующее:

      npm clean-install

Ноты:

  • Вы также можете вручную удалить node_modules папку и повторите попытку, если указанная выше команда не удалась.
  • Если по-прежнему не работает, возможно, глобальный кеш поврежден, попробуйте запустить npm cache clean --force а затем выполните чистую установку.
  • Команда чистой установки работает на npm 6 и выше. Для более старых версий рассмотрите возможность проверки других ответов ниже.

ОБНОВЛЕНО: проблема довольно распространена, вот новое исправление npm cache verify беги, что тебе будет хорошо идти!

У меня была такая же проблема при установке ionic@beta, Я попробовал следующие пункты, и они не помогли мне.

  1. npm cache clean
  2. Удалить кеш вручную из %temp%\npm-*
  3. Командная строка "Запуск от имени администратора"

Я решил проблему, установив node-v5.10.1-x64.msi (предыдущая версия была node-v5.9.0-x64.msi) и запустив npm cache clean перед установкой ionic@beta

Это сработало!

[Работает] попробуй npm config удалить https-прокси

это противоречило бы прокси.

У меня была такая же проблема с NPM версии 1.3.11, и я решил ее, просто повторно выполнив одну и ту же команду несколько раз ("npm update -g" в моем случае). Ошибка появлялась для другого пакета при каждом последующем запуске, и в итоге все успешно обновлялось.

По крайней мере, мне кажется, что это вызвано проблемой сети (поврежденные загрузки). Я также получал сообщение об ошибке с неверным пакетом, которое мне удалось устранить, удалив все экземпляры tmp.tgz.

Редактировать: (Возможно, не связано, но в случае, если это кому-нибудь поможет: я использовал Windows и запустил командную строку в качестве администратора после получения первоначальной ошибки).

I had the cb() never called! error, and none of the answers here directly worked for me. I was running Node v8.11.2, and I had to manually delete the package-lock.json file to get anywhere. After doing this, I ran npm cache verify per what some of the answers recommended. Then, running npm i yielded the following result:

npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN securities-stub@1.0.0 No description
npm WARN securities-stub@1.0.0 No repository field.

up to date in 5.118s

Если ошибка сохраняется даже после запуска npm cache clean --force, попробуйте перезапустить npx create-react-app my-appпосле переключения в другую сеть. Эта ошибка также может быть вызвана медленными и нестабильными сетями ...

По состоянию на март 2021 года в новой версии NPM исправлены многие из этих проблем.

Так зову npm i -g npm@latest исправляет это снова (в промежутках это не сработало).

Для меня на нпм 6.4.0 и узел 10.9.0 ни один из ответов не сработал. Переустановил узел, npm, почистил кеш, удалил папки...

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

Я просто глобально установил новейшую версию NPM, и она сработала для меня. Я думаю, очистка кэша npm не является обязательной.

npm install -g npm

У меня сработало следующее: удалите файл package-lock.json и выполните следующую команду:

очистка кеша npm --force

Зная, что это старый вопрос, и многие из вас уже дали свои ответы. Просто чтобы поделиться своим опытом с этой ошибкой и тем, как я ее исправил.

Все это началось после того, как я обновил свою версию Node до> 12, я просмотрел все ответы и попытался выполнить шаги, очищающие npm Кеш, удаление node_modulesпапка. Никто из них не решит мою проблему.

Основная причина в моем случае заключалась в ограничении установки прокси. Я удалил настройки прокси, чтобы решить проблему.

  1. Проверьте, есть ли у вас конфигурация прокси

    npm config list
    
  2. Удалить их

    npm config delete proxy
    npm config delete http-proxy
    npm config delete https-proxy
    
  3. Теперь попробуй

    npm install
    

У меня такая же ошибка в моем проекте. Я работаю над изолированной интрасетью, поэтому мое решение было следующим:

  • пробег npm clean cache --force
  • удалить package-lock.json
  • в моем случае мне пришлось настроить прокси NPM в .npmrc

Try switching your network, у меня как-то сработала коммутация сети.

Я пробовал много вещей, упомянутых в других ответах, например:

  1. очистка кеша npm --force
  2. Удалите существующие node_modules, удалите package-lock.json и переустановите, используя - npm i
  3. проверка кеша npm
  4. чистая установка npm

None of the above worked for me, может сработать для вас. Испытай удачу.

Для пользователей Ubuntu, приведенный ниже метод работал для меня.

Во-первых, выполните это: sudo npm cache verify

Затем перейдите в Home->. Npm и удалите папку _cache: sudo rm -rf _cacache/

пойти и проверить, может быть, вы нашли решение.

Я предлагаю: перейти на пряжу! - Yarn - менеджер пакетов, который использует тот же package.json файл и node_modules папка как npm.

С npm у меня возникла та же проблема: при установке CentOS 6 я получил ERR cb() never called ошибка неоднократно и не может найти способ сделать npm надежно завершить установку некоторых пакетов (например, webpack например). - Пряжа работает безупречно, даже на ненадежных сетевых подключениях.

Миграция на пряжу очень проста. Большинство подкоманд одинаковы. У них есть хорошее руководство по миграции. Читайте в конце удобное сравнение команд CLI.

sudo npm cache clean не сработало для меня. Помогает обновление до последней версии узла.

У меня был узел v.5.91 и обновлен до v6.9.1

У меня была такая же проблема при попытке установить firebase-tools на мой ноутбук с Windows. Вот как я это решил.

  1. Я скачал касперский и установил его. тогда я отключил безопасные соединения Касперского
  2. я открыл cmd и запустил эту команду npm cache clean --force
  3. Затем я запускаю эту команду npm install npm@latest -g
  4. Затем я запускаю команду firebase cli npm install -g firebase-tools

Если вы открываете свой код в среде IDE, такой как IntelliJ idea Закройте его и повторите попытку

Сегодня я тоже столкнулся с той же проблемой, поскольку вынужден был прервать загрузку пакета npm из-за проблем с интернетом.

Я пробовал разные вещи, такие как,

  1. Запуск sudo npm cache clean -f - не сработал, как ожидалось
  2. Очистите узел удаления и переустановите его - что также не сработало

Я наконец попытался удалить папку, содержащую кэш npm, который создавал проблему. Я выполнил следующую команду,

sudo rm -rf /Users/{user_system_user}/.npm/

Затем я попытался установить пакет, который застрял, и все работало как шарм.

PS: замените {user_sytem_user} в соответствии с текущим пользователем вашей системы.

Похоже, что конкретные версии зависимостей могут вызвать эту проблему. Например, gulp-uglifycss 1.0.7 имеет эту проблему (см. https://github.com/rezzza/gulp-uglifycss/issues/15).

Если вы разрешаете обновление основных или дополнительных версий в вашем packages.json с помощью ^ или же ~удалите эти символы из файла и попробуйте другой npm install, Если это сработает в то время, то вы будете в порядке после того, как получите удовольствие от того, какой пакет вызывает проблему.

Другие вопросы по тегам