【Rails】No such file or directory @ rb_sysopen – tmp/pids/server.pidが出たときの対処法

起こったエラーと状況



Railsのデプロイをテストをしていたところ、

RAILS_ENV=production ~/.rbenv/shims/bundle exec rails assets:precompile


のコマンドで以下のようなエラーがでました。

No such file or directory @ rb_sysopen - tmp/pids/server.pid


上記のエラーはActions環境や上記のようなコマンドにかぎらず、Railsアプリの立ち上げのときにおこるエラーだと思います。

tmp/pids/server.pidのようなファイルやディレクトリは存在しないとのことです。

原因

Githubのリポジトリにプッシュしたいさいに、.gitgnoneファイルでtmp以下のディレクトリをプッシュしないように設定されていました。

そのままのGithubのリポジトリの状態でRailsを起動すると、tmp/pids/server.pidが無いと言われます。

解決方法

...
#tmp/pids/server.pidのファイルを追加
mkdir -p tmp/pids &&
touch tmp/pids/server.pid &&
RAILS_ENV=production ~/.rbenv/shims/bundle exec rails assets:precompile
...

上記のように、mkdirでまずtmp/pidsのディレクトリを作成してから、touchでファイルをserver.pidを作成した後に

rails assets:precompileや、db:migrateなどの起動コマンドを打つようにしました。

すると、上手く実行することができました。

参考にした文献

コメント

タイトルとURLをコピーしました