正如标题所示,我正在尝试将我的应用程序推送到 Heroku,但我不断收到这些错误:
291 error Error: ENOENT, chmod '/tmp/build_htb3av307zzc/node_modules/jade/bin/jade'
292 error If you need help, you may report this log at:
292 error <http://github.com/isaacs/npm/issues>
292 error or email it to:
292 error <<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b0dec0dd9df0d7dfdfd7dcd5d7c2dfc5c0c39ed3dfdd" rel="noreferrer noopener nofollow">[email protected]</a>>
293 error System Linux 2.6.32-350-ec2
294 error command "/tmp/node-node-lBSf/bin/node" "/tmp/node-npm-vbZC/cli.js" "rebuild"
295 error cwd /tmp/build_htb3av307zzc
296 error node -v v0.10.2
297 error npm -v 1.2.15
298 error path /tmp/build_htb3av307zzc/node_modules/jade/bin/jade
299 error code ENOENT
300 error errno 34
301 verbose exit [ 34, true ]
我的package.json如下:
{
"name": "application-name",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node app.js"
},
"dependencies": {
"express": "3.1.1",
"jade": "*",
"mongojs": "*",
"less": "*",
"crypto": "*"
},
"engines": {
"node": "0.10.2",
"npm": "1.2.15"
}
}
我一直在谷歌上搜索并阅读有关错误:ENOENT与jade的信息,所有答案似乎只是说,从.gitignore中删除/bin/tmp,遗憾的是这并没有为我解决问题,我正在转向感谢你们的帮助,任何事情都将不胜感激,我即将扔掉我的显示器:) 谢谢!
最佳答案
我遇到了同样的问题,这是由于 bin/位于您的 .gitignore 文件中引起的。当您推送到heroku时,找不到文件“/tmp/build_htb3av307zzc/node_modules/jade/bin/jade”,因为它尚未提交。
从我的 .gitignore 中删除 bin/并确保 node_modules 内的所有 bin 目录都已提交,从而修复了我的错误。
编辑:我发现正如 Gavin 提到的,另一种方法是从 git 中一起删除 node_packages,以便 Heroku 从 package.json 生成它们。
关于javascript - 尝试将我的 Node.js 应用程序推送到 Heroku,错误 : ENOENT with jade npm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15848119/