2015-10-28 8 views
7

私はHerokuでホストしたいNodeプロジェクトを持っています。私はHerokuのHerokuはノードのバージョンを読み取っていません

git push heroku master 
にアプリをプッシュしようとすると、しかし

{ 
    "name": "*********", 
    "version": "0.0.0", 
    "private": true, 
    "engines": { 
    "node": "0.12.x", 
    "npm": "2.5.x" 
    }, 
    "scripts": { 
    "start": "node ./bin/www" 
    }, 
    "dependencies": { 
    "body-parser": "^1.13.3", 
    ... 
} 

、:私は明示的にこのようになります(ルートディレクトリにあります)私のpackage.jsonにノードおよびNPMのバージョンが定義されています

Herokuはアプリを構築しようとしますが、ノードとnpmのバージョンをリードできないようです。ここに私が得る応答がある。

remote: -----> Installing binaries 
remote:  engines.node (package.json): unspecified 
remote:  engines.npm (package.json): unspecified (use default) 
remote:   
remote:  Resolving node version (latest stable) via semver.io... 
remote:  Downloading and installing node 4.2.1... 
remote:  Using default npm version: 2.14.7 

なぜherokuはpackage.jsonからノードとnpmバージョンを読み取らないのですか?

答えて

3

@rdeggesはpackage.jsonが正しくHerokuのにコミットされなかったことは正しかったです。だからちょうどHerokuの指示に従うだけで何らかの理由で私のために働かなかった。ここで私はそれを機能させるためにしなければならなかったことがあります。

git clone <my git project> 
heroku create <app name> 

#remove package.json 
mv package.json tmp_package.json 
git add package.json 
git commit -m "removed package.json" 

#re-add package.json 
mv tmp_package.json package.json 
git add package.json 
git commit -m "re-added package.json" 

git push heroku master 
0

これは私にとってはうまくいきます - これらの変更を実際にGitにコミットし、リポジトリをHerokuにプッシュしたことを確認してください。また、正確なノードとNPMのリリース番号をHerokuアプリケーションに指定することもできます。

これは指定した変数リリースで動作しますが、リリースの小さな変更が問題を引き起こす可能性があるため、お勧めできません。

参考のため、ここでは同様のNode.jsランタイムを指定するにHerokuのドキュメントです:https://devcenter.heroku.com/articles/nodejs-support#node-js-runtimes

0

私は他の解決策を試しましたが、それは私のためには機能しませんでした。しかし、package.jsonに名前フィールドを変更することで、それが働いた:

から:

{ 
    ... 
    "name": "foo" 
    ... 
} 

へ:

{ 
    ... 
    "name": "bar" 
    ... 
} 

オルタナティブ2

私が持っていた場合には私の他のコンピュータでも同じことをやっても動作しませんでしたが、私はpackage.jsonを取り除こうとしましたが、最初から作り直してみました。息子(ファイルのメタデータ?):

$ rm package.json 
$ npm init 
0

はたぶん、masterブランチが分岐ではありません更新されていない、あなたが使用するためには、マスターに展開するブランチをマージしてみてください。

git push heroku master 
関連する問題