2017-08-25 13 views
0

私のコントロールできない理由から、CentOS 7でRails 4アプリを実行する必要があります。現在、rvmとPassengerを搭載したRed Hatで正常に動作しています。私はrbenvとPumaに移行したいのですが、私はこの問題に悩まされています。Pumaプロセスを所有しているユーザーがBundlerをロードできないのはなぜですか?

VirtualBox仮想マシンでテストインストールを実行しようとしています。私はすべてが正しく結びついていると信じています。私はSELinuxを無効にしました。

04:03 puma:start 
     using conf file /var/www/rails-app/shared/puma.rb 
     01 bundle exec puma -C /var/www/rails-app/shared/puma.rb --daemon 
     01 * Pruning Bundler environment 
     01 [6464] Puma starting in cluster mode... 
     01 [6464] * Version 3.9.1 (ruby 2.1.10-p492), codename: Private Caller 
     01 [6464] * Min threads: 4, max threads: 16 
     01 [6464] * Environment: vm 
     01 [6464] * Process workers: 1 
     01 [6464] * Phased restart available 
     01 [6464] * Listening on unix:///var/www/rails-app/shared/tmp/sockets/puma.sock 
     01 [6464] * Daemonizing... 
    ✔ 01 [email protected] 0.537s 

しかし、プーマのアクセスログは無限ループにこのエラーが出てスピン::私はcap deployを実行すると、ピューマは正常に起動私のプーマのユーザーに関連付けられたプロセスをリスト

/home/deploy/.rbenv/versions/2.1.10/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- bundler/setup (LoadError) 
... stack trace clipped ... 

を示しています。

$ ps aux | grep deploy 
deploy 12645 0.0 0.2 115384 2084 pts/0 S 18:18 0:00 -bash 
deploy 18517 0.7 1.7 271344 18076 ?  Sl 18:27 0:00 puma 3.9.1 (unix:///var/www/rails-app/shared/tmp/sockets/puma.sock) 
deploy 23279 7.0 0.0  0  0 ?  Z 18:29 0:00 [ruby] <defunct> 
deploy 23283 4.0 1.7 273400 17464 ?  Rl 18:29 0:00 puma: cluster worker 0: 18517 

BundlerをRailsアプリケーションとPumaプロセスを所有するdeployユーザーとして正常に実行できることを確認しました。

cd /var/www/rails-app/current && bundler --version 
Bundler version 1.15.4 

このエラーが表示される理由はわかりません。数時間の研究とトラブルシューティングの後、私は立ち往生しています。私は必要に応じて設定ファイルを提供することができますが、それはかなり標準的です。私はこの時点でこの質問を混乱させると思います。

この問題は誰にでもよく知られていますか?この種の問題を解決するために

+0

あなたの質問はこれと似ているようですhttps://stackoverflow.com/questions/19061774/cannot-load-such-file-bundler-setup-loaderror –

+0

RVM https://stackoverflow.com/questionsを使用している場合/ 32670779/loaderror-can-load-such-file-bundler-setup –

答えて

0

いくつかの手順:

  1. バンドラが正しくインストールされていることを確認してください。あなたのケースではyesのように見えますが、実行することでまだ始めるのは良いことですgem install bundler
  2. すべてのパスが正しく設定されていることを確認してください。ここバンドラがインストールされていたあなたのケースに似ていますが、パスが正しいとバンドラのバージョンを混合しなかった例である。cannot load such file -- bundler/setup (LoadError)
  3. あなたがRVMを使用している場合は、を見てみたいことがありますLoadError: cannot load such file -- bundler/setup
+0

Stephaneの提案に感謝します。それは私の問題を解決していませんが、引き裂くためにいくつかの新しいスレッドを提供しています。また、それは関連性があるように見える[この質問](https://stackoverflow.com/q/30502765/6763239)につながった。私は 'ps aux'の出力を私の質問に加えました。 –

+0

実際、[こちらのコメント](https://stackoverflow.com/questions/30502765/puma-looks-ok-but-cycles-through-life-defunct-life-defunct-every-10-seconds#comment51274220_30502765)私の問題の解決策になりました。 '/ var'と'/var/www'の所有者を 'deploy'ユーザに変更すると、Pumaは正常に動作しました。 @ stephane-paquet、それをあなたの答えの一番上に追加したいのであれば、私はあなたの答えを正しいものとして選択し、次に自分の答えにその詳細を加えます。あなたの助けをもう一度ありがとう。 –

関連する問題