起こったエラーと状況
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などの起動コマンドを打つようにしました。
すると、上手く実行することができました。
参考にした文献
コメント