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
Для всех, кто заходил на эту страницу около 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"
}
Если вы обновили angular cli, npm, node, вам больше ничего не нужно делать. Просто выполните команду ниже, чтобы решить проблему. Эта команда также решает проблему "неожиданного конца строки".
npm install --no-package-lock
У меня была именно эта проблема при попытке установить тему Sage для WordPress. Когда я побежал npm install
в каталоге темы это не удалось.
Глядя в зависимости в package.json
Я видел, что двигатель, на котором я работал, был устаревшим. Бег node -v
в командной строке показал, что я был на v0.10.9, а последняя версия Sage требует>= 0.12.0
Так вот исправление для этого. Эти шаги взяты из блога Дэвида Уолша
- Очистите кэш npm:
sudo npm cache clean -f
- Установите последнюю версию Node helper:
sudo npm install -g n
- Скажите помощнику (n), чтобы установить последнюю стабильную версию Node:
sudo n stable
Затем вы должны получить отображение прогресса, после чего вы будете в курсе.
Когда я побежал npm install
после этого все работало нормально, и я смог запустить gulp
построить начальный dist
каталог.
У вас есть конкретная версия "npm"
указано в "engines"
в вашем package.json
? Похоже, что NPM v1.2.15 решил проблему (и Heroku есть в наличии). У меня была такая же проблема с "1.1.x"
,
Обновление 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
, Я попробовал следующие пункты, и они не помогли мне.
npm cache clean
- Удалить кеш вручную из
%temp%\npm-*
- Командная строка "Запуск от имени администратора"
Я решил проблему, установив 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
папка. Никто из них не решит мою проблему.
Основная причина в моем случае заключалась в ограничении установки прокси. Я удалил настройки прокси, чтобы решить проблему.
Проверьте, есть ли у вас конфигурация прокси
npm config list
Удалить их
npm config delete proxy npm config delete http-proxy npm config delete https-proxy
Теперь попробуй
npm install
У меня такая же ошибка в моем проекте. Я работаю над изолированной интрасетью, поэтому мое решение было следующим:
- пробег
npm clean cache --force
- удалить package-lock.json
- в моем случае мне пришлось настроить прокси NPM в
.npmrc
Try switching your network
, у меня как-то сработала коммутация сети.
Я пробовал много вещей, упомянутых в других ответах, например:
- очистка кеша npm --force
- Удалите существующие node_modules, удалите package-lock.json и переустановите, используя - npm i
- проверка кеша npm
- чистая установка 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. Вот как я это решил.
- Я скачал касперский и установил его. тогда я отключил безопасные соединения Касперского
- я открыл cmd и запустил эту команду
npm cache clean --force
- Затем я запускаю эту команду
npm install npm@latest -g
- Затем я запускаю команду firebase cli
npm install -g firebase-tools
Если вы открываете свой код в среде IDE, такой как IntelliJ idea Закройте его и повторите попытку
Сегодня я тоже столкнулся с той же проблемой, поскольку вынужден был прервать загрузку пакета npm из-за проблем с интернетом.
Я пробовал разные вещи, такие как,
- Запуск sudo npm cache clean -f - не сработал, как ожидалось
- Очистите узел удаления и переустановите его - что также не сработало
Я наконец попытался удалить папку, содержащую кэш 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
, Если это сработает в то время, то вы будете в порядке после того, как получите удовольствие от того, какой пакет вызывает проблему.