试图将我的Node.js应用程序推送到Heroku,错误:使用jade npm的ENOENT

Trying to push my Node.js app to Heroku, Error: ENOENT with jade npm

本文关键字:错误 使用 jade ENOENT npm Heroku 我的 Node js 应用程序      更新时间:2023-09-26

正如标题所说,我试图将我的应用程序推送到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 ]

我的包。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 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中生成它们。

我不知道你是否也和这张海报一样,在heroku上安装玉的错误…如果您已将node_modules添加到git,那么这可能是您的问题。删除后重试