2017-09-06 18 views
0

私はHerokuにデプロイするNodeで動作する非常にシンプルなTypeScriptアプリ(Express.jsでビルド)を持っています。私はノードbuildpackとzidizei/heroku-buildpack-tscの両方を使用します。後者はデプロイ時に.tsをJavaScriptにコンパイルします。heroku上のノードアプリケーションが読み取り専用ファイルシステムのために失敗する

これは、デプロイメントを実行しようとした今日までうまく機能しています。デプロイメント自体は正常に動作しますが、起動スクリプトnode ./dist/server.jsが実行された時点でアプリがクラッシュします。ここでログ:なし時点で

Sep 06 14:43:33 goodlord-bark app/web.1: $ node ./dist/server.js 
Sep 06 14:43:33 goodlord-bark heroku/web.1: Process exited with status 1 
Sep 06 14:43:33 goodlord-bark heroku/web.1: State changed from starting to crashed 
Sep 06 14:43:33 goodlord-bark app/web.1: error An unexpected error occurred: "EROFS: read-only file system, access '/usr/local/bin'". 
Sep 06 14:43:33 goodlord-bark app/web.1: info If you think this is a bug, please open a bug report with the information provided in "/app/yarn-error.log". 

はので、私はこれが起こっている理由として混乱し/usr/local/binに書き込むための任意のスクリプトまたは私のアプリの試みをしていません。このエラーは、コードベースの変更と新しいデプロイの後に発生したので、Herokuの最後で何かが変更されたことがわかりましたが、私はその底に到達できます。

以前のデプロイメントにロールバックすると、しばらくの間アプリが実行されていましたが、現在はアップデートを展開できません。

調べる/app/yarn-error.logもありません。

答えて

3

突然、私はちょうどヘロクに同様の問題がありました。この問題は糸1.0.0で導入され、Herokuはデフォルトで最新バージョンを使用しています。関連するheroku-buildpack-nodejs issueがここにあります。

"engines": { 
    "node": "^7.10.1", 
    "yarn": "0.27.5" 
} 
+0

クレイジー:package.jsonのenginesセクションに糸をダウングレードすることにより、固定

! - 私は「糸」を持っていた:「> = 0.27.0」「私のエンジンのセクションで。明らかにどこかのバグ。これを "0.28.4"に変更すると修正されたようです。助けてくれてありがとう – harryg

+0

それは糸1.0.0で壊れてしまったので、Herokuがデフォルトで使った最新のものではなく古いバージョンを強制して修正しました。 –

+0

Btw彼らは現在糸1.0.1を持っており、彼らのウェブサイトでは「安定」とマークされているので、「エンジン」:{「糸」:「^ 1.0.1」}もうまくいくはずです。 –

関連する問題