2

正如标题所说,我正在尝试将我的应用程序推送到 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     <npm-@googlegroups.com>
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 with jam,所有答案似乎只是说,从.gitignore中删除/bin/tmp,遗憾的是,这并没有解决我的问题,我转向你们帮助,将不胜感激我即将扔掉我的显示器:)谢谢!

4

2 回答 2

3

我遇到了同样的问题,这是由 bin/ 在您的 .gitignore 文件中引起的。当您推送到 heroku 时,找不到文件“/tmp/build_htb3av307zzc/node_modules/jade/bin/jade”,因为它尚未提交。

从我的 .gitignore 中删除 bin/ 并确保我在 node_modules 中的所有 bin 目录都已提交,为我修复了错误。

编辑:我发现正如 Gavin 提到的,另一种方法是从 git 中删除 node_packages,以便 Heroku 从您的 package.json 生成它们。

于 2013-08-20T08:21:10.623 回答
1

我想知道你是否和这张海报一样受苦 在heroku 上安装玉器时出错……如果你已经添加node_modules到 git 那么这可能是你的问题。删除它并重试。

于 2013-04-07T08:33:58.870 回答