私は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
もありません。
クレイジー:package.jsonの
engines
セクションに糸をダウングレードすることにより、固定! - 私は「糸」を持っていた:「> = 0.27.0」「私のエンジンのセクションで。明らかにどこかのバグ。これを "0.28.4"に変更すると修正されたようです。助けてくれてありがとう – harryg
それは糸1.0.0で壊れてしまったので、Herokuがデフォルトで使った最新のものではなく古いバージョンを強制して修正しました。 –
Btw彼らは現在糸1.0.1を持っており、彼らのウェブサイトでは「安定」とマークされているので、「エンジン」:{「糸」:「^ 1.0.1」}もうまくいくはずです。 –