我在Heroku上托管了一个Node.js应用程序。每次我执行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'
错误出现在最后几行: 错误的ERR! cb()从未调用过! 错误的ERR!不好的代码未定义 错误的ERR! cb()从未调用过! 错误的ERR!不行的代码1 !无法使用npm安装--production依赖项 ! Heroku推送拒绝,无法编译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)
的帖子。
答案 0 :(得分:238)
如果你有npm版本5或更高版本,请先试试:
$ sudo npm cache verify
否则:
$ sudo npm cache clean
我的节点和npm版本是:
$ node -v
v0.10.0
$ npm -v
1.2.14
答案 1 :(得分:139)
对于在2013年9月29日左右点击此页面的任何人,Node.js 0.10.19中存在一个已关闭的错误,导致此错误。
https://github.com/isaacs/npm/issues/2907#issuecomment-15215278 https://github.com/joyent/node/issues/6263#issuecomment-25113849
如果您使用Heroku,则应升级到0.10.20
"engines": {
"node": "0.10.20"
}
答案 2 :(得分:22)
您的"npm"
"engines"
下是否指定了package.json
的特定版本?听起来像NPM v1.2.15 resolved the issue(并且Heroku可用)。我在使用"1.1.x"
时遇到了同样的问题。
答案 3 :(得分:17)
我在尝试为WordPress安装Sage主题时遇到了这个问题。当我在主题目录上运行npm install
时,它失败了。
查看package.json
中的依赖项,我可以看到我为Node运行的引擎已经过时了。在命令行上运行node -v
表明我在v0.10.9上,最新版本的Sage需要> = 0.12.0
所以这是解决这个问题的方法。这些步骤来自David Walsh's blog
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
然后您应该获得进度显示,之后您将获得最新信息。
执行此操作后运行npm install
时,一切正常,我可以运行gulp
来构建初始dist
目录。
答案 4 :(得分:17)
尝试
sudo npm cache clean --force
答案 5 :(得分:8)
我在NPM版本1.3.11中遇到了同样的问题,并且通过多次重新运行完全相同的命令解决了这个问题(在我的例子中是“npm update -g”)。在每次后续运行中,错误会弹出一个不同的包,最终所有内容都会成功更新。
至少对我来说,它似乎是由网络问题(下载损坏)引起的。我也收到有关无效程序包的错误,我可以通过删除“tmp.tgz”的所有实例来解决这个错误。
编辑:(可能不相关,但以防万一:我使用的是Windows,并在收到初始错误后以管理员身份启动命令提示符。)
答案 6 :(得分:8)
我在安装ionic@beta
时遇到了同样的问题。
我尝试了以下项目,他们没有帮助我。
npm cache clean
%temp%\npm-*
我通过安装node-v5.10.1-x64.msi解决了这个问题(以前的版本是node-v5.9.0-x64.msi)并在安装npm cache clean
之前运行ionic@beta
有效!
答案 7 :(得分:7)
更新NodeJS https://nodejs.org/en/修复了我的问题。
运行npm install -g npm
& npm cache clean
答案 8 :(得分:5)
npm install -g npm
npm install
答案 9 :(得分:5)
已更新:问题很普遍,这是运行新修复程序npm cache verify
的结果,您会很好!
答案 10 :(得分:5)
如果您更新了角度cli,npm,node,则不需要再做任何其他事情。只需运行以下命令即可解决问题。此命令还解决了"意外结束"。
的问题npm install --no-package-lock
答案 11 :(得分:4)
sudo npm cache clean
没有为我工作。更新到最新版本的节点有帮助。
我有节点v.5.91并更新到v6.9.1
答案 12 :(得分:4)
从 NPM 6 开始,您可以进行全新安装。
那是唯一对我有用的解决方案。
只需运行以下命令:
npm clean-install
注意事项:
node_modules
文件夹并重试,以防上述命令失败。npm cache clean --force
,然后进行全新安装。clean-install
命令适用于 npm 6 及更高版本。对于旧版本,请考虑检查下面的其他答案。答案 13 :(得分:4)
截至 2021 年 3 月,新的 NPM 版本修复了其中的许多问题。
所以调用 npm i -g npm@latest
再次修复了这个问题(在这两者之间不起作用)。
答案 14 :(得分:4)
我的项目中有同样的错误。我正在使用隔离的 Intranet,因此我的解决方案如下:
npm clean cache --force
.npmrc
中设置 NPM 代理答案 15 :(得分:4)
对我来说,在npm 6.4.0
和节点10.9.0
上,没有任何答案有效。重新安装节点,npm,清理缓存,删除文件夹...
经过一番调试后,我发现npm link
用于两个正在开发的模块相互链接。一旦我删除并重新链接了一些链接,我就可以使它们再次正常工作。
答案 16 :(得分:3)
似乎特定的依赖版本可能会导致此问题。例如,gulp-uglifycss 1.0.7存在此问题(请参阅https://github.com/rezzza/gulp-uglifycss/issues/15)。
如果您允许packages.json
通过^
或~
更新主要或次要版本更新,请删除文件中的这些字符,然后尝试其他npm install
。如果它的工作时间那么你就可以在缩小哪个软件包导致问题的原因之后就可以了。
答案 17 :(得分:3)
Try switching your network
,
不知何故,切换网络对我有用。
我已经尝试了其他答案中提到的许多内容,例如:
None of the above worked for me
,可能对你有用。
试试你的运气。
答案 18 :(得分:3)
如果错误在运行 npm cache clean --force
后仍然存在,请尝试在切换到其他网络后重新运行 npx create-react-app your_app_name
。此错误也可能是由于网络缓慢和不稳定而导致的...
答案 19 :(得分:3)
对我有用的是:删除package-lock.json文件并运行以下命令:
npm缓存清理--force
答案 20 :(得分:2)
对于Ubuntu用户,以下给定的方法对我有用。
首先,执行以下操作:sudo npm cache verify
然后转到Home->。npm并通过以下方式删除_cache文件夹:sudo rm -rf _cacache/
去检查一下,也许您找到了解决方法。
答案 21 :(得分:2)
对我来说,上述解决方案均无效(重新安装,清除缓存,文件夹等)。
我的问题已解决:
npm config set registry https://registry.npmjs.org/
答案 22 :(得分:2)
知道这是一个古老的问题,许多人已经提供了答案。只是分享我对这个错误的看法以及如何解决。
这一切都是在将Node版本升级到> 12之后开始的,我确实查看了所有答案,然后尝试按照清除npm
缓存的步骤,删除node_modules
文件夹。他们中没有人解决我的问题。
在我的情况下,根本原因是代理限制安装。我删除了代理设置以解决此问题。
检查您是否有任何代理配置
npm config list
删除它们
npm config delete proxy
npm config delete http-proxy
npm config delete https-proxy
现在尝试
npm install
答案 23 :(得分:2)
我刚刚全球安装了最新版本的NPM,它对我有用。 我猜清除npm缓存是可选的。
npm install -g npm
答案 24 :(得分:2)
尝试在我的Windows笔记本电脑中安装firebase-tools时遇到了同样的问题。这就是我解决它的方式。
npm cache clean --force
npm install npm@latest -g
npm install -g firebase-tools
答案 25 :(得分:2)
在mdp离开的地方拾取,问题出在节点0.10.19和npm 1.3.11
我找到了管理降级的最简单方法,以保持顺利进行NVM,here是一个很好的教程,如何使用它。我使用NVM在几分钟内修改了服务器环境并正确地将其从0.10.19降级到0.10.18。
答案 26 :(得分:1)
我从互联网上尝试了很多东西。只有下面的方法对我有用。如果此问题的每个答案都无效,请按以下顺序尝试以下步骤。 注意:
package-lock
文件C:\Users\ YOUR LOGIN NAME \AppData\Roaming\npm
”和
“ C:\Users\ YOUR LOGIN NAME \AppData\Roaming\npm-cache
” AppData
下查找其他npm文件夹,并将其删除。npm cache clean --force
npm cache verify
npm install --force
答案 27 :(得分:1)
如果您在 IntelliJ idea 等 IDE 中打开代码,请将其关闭并重试
答案 28 :(得分:1)
我遇到了cb() never called!
错误,这里没有答案直接对我有用。我正在运行节点v8.11.2
,并且必须手动删除package-lock.json
文件才能到达任何地方。完成此操作后,我根据建议的一些答案运行了npm cache verify
。然后,运行npm i
得到以下结果:
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
答案 29 :(得分:1)
brew uninstall node
cd /usr/local
git checkout f7bbdcc /usr/local/Library/Formula/node.rb
brew install node
查找其他版本:
brew versions node
答案 30 :(得分:1)
我今天也遇到了同样的问题,由于互联网问题,我迫使两次下载之间都停止了npm软件包的下载。
我尝试了很多类似的事情,
我终于尝试删除包含造成问题的npm缓存的文件夹。我运行了以下命令,
sudo rm -rf /Users/{user_system_user}/.npm/
然后,我尝试安装被卡住的软件包,并且一切正常。
P.S:根据系统的当前用户替换{user_sytem_user}。
答案 31 :(得分:1)
清除您的npm缓存:
sudo npm缓存清理-f
要么
sudo npm缓存清理--force
答案 32 :(得分:1)
我建议:切换到纱线!-Yarn是一个程序包管理器,它使用与npm相同的package.json
文件和node_modules
文件夹。
使用npm时,我遇到了同样的问题:在CentOS 6安装上,我反复遇到ERR cb() never called
错误,并且找不到使npm 可靠地完整安装某些软件包的方法(例如例如webpack
。 -即使在不稳定的网络连接上,纱线也能完美工作。
迁移到纱线很容易。大多数子命令是相同的。他们有一个不错的Migration guide。最后阅读方便的CLI commands comparison。
答案 33 :(得分:1)
适用于最近从6.x升级到6.7.0的任何人。
删除/Users/{YOUR USERNAME}/.npm
文件夹可以解决我的npm install
问题。
我也运行了https://npm.community/t/crash-npm-err-cb-never-called/858/93?u=jasonfoglia
建议的其中一些命令sudo npm cache clean -f
sudo npm install -g n
但是在删除文件夹之前,我不确定哪个真正有效。因此,如果您遇到此问题,而只是删除解决该问题的.npm文件夹,请注意在注释中。
答案 34 :(得分:1)
[Works]尝试npm config删除https-proxy
它将与代理冲突。
答案 35 :(得分:1)
执行npm install npm@latest -g
将npm更新为最新版本。
这解决了我的问题。
我确实先做npm cache clean
答案 36 :(得分:1)
我在Mac上遇到了同样的问题,我尝试了所有可以找到的方法:升级到最新的Node,清理缓存,删除_node_mudules_目录,但都没有效果。最后,我认为这是Node环境的问题,所以我将我的节点降级为旧的LTS版本6.14.1,然后问题就消失了。这就是我的工作:
安装NVM(要获得全新的隔离节点环境,您最好使用NVM管理多个节点环境,请转至here了解详细信息)
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
安装Node.js 6.14.1
nvm install 6.14.1
切换到上面安装的特定节点环境
nvm use 6.14.1
安装create-react-app
npm install -g create-react-app
创建您的反应应用
create-react-app appname
答案 37 :(得分:1)
npm install
会导致:
npm ERR! cb() never called!
npm ERR! This is an error with npm itself. Please report this error at:
npm ERR! <https://github.com/npm/npm/issues>
就我而言,当我升级到Node.js版本8.11.1
时,会发生此错误。以前使用Node.js版本6.12.x
和NPM版本5.8.0
。
除此之外,我的测试脚本找不到AVA:
sh: ava: command not found
npm ERR! Test failed. See above for more details.
解决方案是将NPM降级为5.7.1
答案 38 :(得分:0)
对我来说,帮助关闭了防病毒软件
答案 39 :(得分:0)
我安装了一个软件,它在 .npmrc
下生成了一个 Users/<name>/.npmrc
文件
删除 .npmrc
文件为我解决了这个问题。
答案 40 :(得分:0)
对于特定配置或节点版本,似乎没有出现此问题。我们在重新部署并怀疑npm服务器导致此问题时经历了几次。
重试几次确实最终解决了这个问题。
答案 41 :(得分:0)
对我来说是一个问题 package-lock.json 删除它并运行命令来清理缓存后 我可以运行 npm -i 成功。
答案 42 :(得分:0)
我试过了
但没有运气。
但是卸载以前的节点版本并安装最新的节点版本对我有用。
答案 43 :(得分:0)
可能有两种可能性=&gt;
尝试更新节点js和npm。
权限问题=&gt; 一个。在各自的用户帐户中将您的解决方案移至c盘 湾需要以管理员身份运行bash或cmd。
希望这能解决您的问题
答案 44 :(得分:0)
我使用的是 WSL2 和 ubuntu。我已将 .npmrc 添加到 home/user 并运行 sudo 然后我遇到了这个问题。 我意识到我必须在 ~ 文件夹($home/user)中创建我的项目。它不起作用,因为我的项目在 /mnt/c
答案 45 :(得分:0)
删除 package-lock.json
并再次安装所需的软件包为我解决了这个问题。
答案 46 :(得分:0)
Windows WSL、Ubuntu、npm install 返回错误。我的解决方案:
sudo npm install
不知道为什么我必须使用 sudo。其他解决方案(例如清理缓存)对我不起作用。
答案 47 :(得分:0)
是什么帮助我克服了这个错误-cb() never called...
正在降级我的NPM版本。
我有6.14.9版,并通过键入以下命令将其降级为6.14.6版:
npm install -g npm@6.14.6
注意:似乎没有任何帮助。我尝试了许多建议的解决方案,包括“ npm cache clean”或卸载NPM并重新安装。
答案 48 :(得分:0)
就我而言,我无法安装VueJS插件,而我必须:
更改文件的所有权:
sudo chown -R $(whoami)〜/ .npm
sudo chown -R $(whoami)/ usr / local / lib
sudo chown -R $(whoami)/ usr / local / bin
然后确保获取最新的npm:
npm install -g npm @ latest
然后安装了我的插件,并且在您的情况下,您的命令可能没有问题。
答案 49 :(得分:0)
原来我空间不足!删除驱动器上允许正常启动和运行的文件。
答案 50 :(得分:0)
就我而言,我是从运行npm install
映像的Docker容器中运行node:10.16.0-alpine
的。该问题是由package.json
直接指向GitHub中的一个软件包触发的:
"dependencies": {
"gulp-sass-inline-svg": "git+https://github.com/chriswburke/gulp-sass-inline-svg.git"
}
切换到已安装git的Docker映像后,错误消失了。
答案 51 :(得分:0)
检查系统路径变量中的npm
命令是否具有多个版本。
就我而言,我在Node安装目录中有一个版本,在npm globals
安装目录中有一个旧版本(在npm config文件中称为prefix
)。因此,我检查了npm config get prefix
的位置,并从node_modules中删除了链接和npm
文件夹。 (根据PATH变量中的顺序,删除另一个也可以。)
答案 52 :(得分:0)
我曾经遇到过同样的问题,我花了几天的时间来解决这个问题。最后,我弄清楚了,这是我的网络存在的问题。
我正在使用脚本使用公司代理。当我打开pac文件并从那里获取代理并添加它时,它开始工作,而且我再也没有遇到过同样的问题。
答案 53 :(得分:0)
运行以下命令解决了我的问题--- npm install --no-package-lock
答案 54 :(得分:0)
从计算机上安装本地软件包时,我偶然发现了这个问题。
我已将本地软件包移动到另一个文件夹。然后,当我想更新时,我开始收到此错误。
要解决此问题,我从以下文件夹中删除了所有先前创建的符号链接:
C:\Users\<USERNAME>\AppData\Roaming\npm\node_modules
在此之后,我可以像以前一样安装软件包!
答案 55 :(得分:0)
对于Mac用户(HighSierra),请勿使用brew安装节点。它会和npm搞混。我必须卸载node并使用主要nodejs.org源中的软件包安装:https://nodejs.org/en/
这是不使用brew的简单指南:https://coolestguidesontheplanet.com/installing-node-js-on-macos/