【问题标题】:Trying to push my Node.js app to Heroku, Error: ENOENT with jade npm尝试将我的 Node.js 应用程序推送到 Heroku,错误:ENOENT 与玉 npm
【发布时间】:2013-03-28 16:56:55
【问题描述】:

正如标题所说,我正在尝试将我的应用推送到 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,遗憾的是,这并没有解决我的问题,我正在转向你们寻求帮助,任何事情都将不胜感激我即将扔掉我的显示器:)谢谢!

【问题讨论】:

  • ENOENT 通常是找不到文件时引发的错误。那么也许某个配置文件丢失了?

标签: javascript git node.js heroku


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    我想知道你是否和这张海报 Error installing jade on heroku 一样受苦……如果你已经将 node_modules 添加到 git 中,那么这很可能是你的问题。删除它并重试。

    【讨论】:

      猜你喜欢
      • 2012-04-18
      • 1970-01-01
      • 2014-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-10
      • 1970-01-01
      相关资源
      最近更新 更多