rails springが原因で Permission denied エラーになる問題の解決策
複数人、同一サーバ上で開発していて、次のようなエラーに遭遇しました。
vendor/bundler/ruby/2.1.0/gems/spring-1.1.2/lib/spring/server.rb:22:in `initialize': Permission denied @ rb_sysopen - /tmp/spring/ef358a68d26b97c11459c4a366e67b74.pid (Errno::EACCES)
Springサーバのpidファイルがユーザごととかではなく1プロジェクトにつき1つ、/tmp/spring/
下に作られるのが原因になってるぽい…?
解決策
/tmpの下に作られると面倒なので、それぞれのユーザのプロジェクトごとに作ってもらおうということで…
#{Rails.root}/bin/spring
の先頭に以下を追加
module Spring class Env def pidfile_path "#{Rails.root}/tmp/spring/#{application_id}.pid" end end end
これで解決しました。