3

node.js-app を Heroku にプッシュするとエラーが発生します。以前は機能していましたが、現在、何らかの理由で機能していません。

Heroku にプッシュすると、次のようになります。

-----> Node.js app detected
-----> Resolving engine versions
   Using Node.js version: 0.6.13
   Using npm version: 1.1.4
-----> Fetching Node.js binaries
-----> Vendoring node into slug
-----> Installing dependencies with npm
   npm http GET https://registry.npmjs.org/express/2.5.9
   npm http GET https://registry.npmjs.org/jade/0.15.4
   npm http 200 https://registry.npmjs.org/jade/0.15.4
   npm http GET https://registry.npmjs.org/jade/-/jade-0.15.4.tgz
   npm http 200 https://registry.npmjs.org/express/2.5.9
   npm http GET https://registry.npmjs.org/express/-/express-2.5.9.tgz
   npm http 200 https://registry.npmjs.org/jade/-/jade-0.15.4.tgz
   npm http 200 https://registry.npmjs.org/express/-/express-2.5.9.tgz
   npm ERR! error installing jade@0.15.4

   npm ERR! Refusing to delete: /tmp/build_dzqaws2o7lx4/node_modules/.bin/jade not in /tmp/build_dzqaws2o7lx4/node_modules/jade
   npm ERR! File exists: /tmp/build_dzqaws2o7lx4/node_modules/.bin/jade
   npm ERR! Move it away, and try again.
   npm ERR!
   npm ERR! System Linux 2.6.32-348-ec2
   npm ERR! command "/tmp/node-node-HkEc/bin/node" "/tmp/node-npm-X5Wz/cli.js" "install" "--production"
   npm ERR! cwd /tmp/build_dzqaws2o7lx4
   npm ERR! node -v v0.6.13
   npm ERR! npm -v 1.1.4
   npm ERR! path /tmp/build_dzqaws2o7lx4/node_modules/.bin/jade
   npm ERR! code EEXIST
   npm ERR! message Refusing to delete: /tmp/build_dzqaws2o7lx4/node_modules/.bin/jade not in /tmp/build_dzqaws2o7lx4/node_modules/jade
   npm ERR! errno {}
   npm http GET https://registry.npmjs.org/connect
   npm http GET https://registry.npmjs.org/mime/1.2.4
   npm http GET https://registry.npmjs.org/qs
   npm http GET https://registry.npmjs.org/mkdirp/0.3.0
   npm ERR!
   npm ERR! Additional logging details can be found in:
   npm ERR!     /tmp/build_dzqaws2o7lx4/npm-debug.log
   npm not ok
 !     Failed to install --production dependencies with npm
 !     Heroku push rejected, failed to compile Node.js app

私のpackage.jsonは次のとおりです。

{
  "name": "myAppName",
  "version": "0.0.1",
  "dependencies": {
      "express": "2.5.9",
      "mongoose":"3.5.2",
      "jade": "0.15.4",
      "ejs": "0.7.1"
      },
  "engines": {
    "node": "0.6.13",
    "npm": "1.1.4"
  }
}

「削除を拒否しています:...」と表示されているので、Heroku で異常なエラーが発生したのではないかと思い、新しい Heroku アプリにプッシュしようとしましたが、同じエラーが発生します。

何が間違っているかについてのアイデアはありますか?それは私のバージョンですか?すべてがローカルで正常に動作します (Windows)。どんな助けでも大歓迎です。

4

2 に答える 2

4

古い を使用していnode.jsます。に以下を追加してみてくださいpackage.json:

  "engines": {
        "node": "0.8.x",
        "npm": "1.1.x"
  },

システムにログインすることで、より詳しく調べることができます。まず、 Heroku Toolbeltをインストールする必要があります(まだインストールしていない場合)。それで:

heroku login

heroku run bash --app yourapp

これにより、heroku インストールへの bash が提供されます。/tmp( ) に移動cd /tmpして、そこに何が残っているかを確認します。手動で削除してみてください ( rm -rf whatisleft)。

あなたの翡翠のバージョンも古くなっています(まだ)。jadeを使用したherokuのインストールには次のものがあります。

"jade": "*"

node_modules最後に、ソース管理に追加しないでください。したがって、それを.gitignoreファイルに追加します。

于 2013-01-05T15:55:50.593 に答える