電子書籍の厳選無料作品が豊富!

お世話になっております。
現在進行中のプロジェクトをgit cloneにて共有リポジトリから本番環境のサーバーに移しアプリケーションにアクセスしようとしたところ、Passengerが以下の様なエラーを吐き出してしまい、その解決策が見いだせずにいます。

A source file that the application requires, is missing

It is possible that you didn't upload your application files correctly. Please check whether all your application files are uploaded.

A required library may not installed. Please install all libraries that this application requires.

Error message:
no such file to load -- rubygems/path_support

当方環境は以下の様になります。

【共通】
サーバー Apatch
DB MySQL
ruby1.9.2

【ローカルサーバー(開発環境)】
MacOS X
Rails 3.2.2

【共有リポジトリ】
さくらVPS

【本番サーバー(デプロイ先)】
さくらVPS CentOS6
Raisls 3.2.5

初心者故今回この質問をさせていただく上で必要な情報が何かというところも曖昧です。大変恐縮なのですが、何か支離滅裂な個所がありましたらそちらも合わせてご指摘いただければと存じます。


以下実行内容ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

【ローカルにてproductionモードでプロジェクトを実行するために以下を実行】

passengerのインストールと設定 → httpd.confの設定 → gemにてmysql2のインストール → mysqlにてDBの作成とそれに対するユーザー、パスワードを設定 → database.ymlの設定 → rake db:setup RAILS_ENV="production"を実行


補足:ここまでのプロセスでローカル環境にてproductionモードで動作しております。
この状態でgit commit → pushを行い、本番サーバーにてcloneを実行しております。


【サーバーサイドで実行したこと(公開ディレクリは/var/www/html以下はDocumetRootは/var/www/html/public/と設定してあります)】

公開ディレクトリ【html】にて共有リポジトリよりプロジェクトをclone → passengerのインストールと設定 → rake db:setup RAILS_ENV="production"を実行(末尾に--traceを付けcreateとmigrateも実行)



ここまででhttp://ドメイン/コントローラー名にてプロジェクトにアクセスできると考えていたのですが、上記の様なエラーが発生し困っております。

繰り返しとなりますが、Rails初心者故上記に記させて頂いたプロセスにて足りなかったり余計であったりする個所もあるかと存じます。読みづらい文章の上大変恐縮ですが、そちら合わせてご指導いただければ幸いです。

宜しくお願い致します。

A 回答 (2件)

見たところ、mongralでも起動が出来ているのを確認していないようなので



原因がpassengerの設定にあるのか、railsの設定にあるのかを切り分けましょう!

(railsのインストールしてあるディレクトリでで)
bundle exec rails server --port 80 -e production
のコマンドで。ポート番号と動作環境を指定して、railsが立ち上がるかを確認できたら
railsでの設定は問題なのは確認できるので、それを目指してみましょう

で、見たところbundle installを実行して、必要なgemをインストールしたかの記入がないので
rails本体が最低限必要としているgem以外はインストールされていないようなので
bundle installを実行したかを、まずはおしえてホシイです

あと、bundle installを実行して無事にgemがインストールされている場合、インストール作業を行ったあたりで実行したコマンドを、historyコマンドで取り出して、貼り付けてもらえればもう少しお力になれます
    • good
    • 0
この回答へのお礼

お礼が遅れてしまい申し訳ありません。
git cloneを行った際にdatabase.yamlもcloneの対象としていたのが原因でした。
mysqlの設定がローカル同じ内容になっていたため上記のエラーを起こしていたようです。
git ignoreにdatabase.yamlを指定し、サーバー再度で任意の設定を記載した所無事解決し
ました。

ご丁寧な回答ありがとうございました。

お礼日時:2012/08/21 18:24

私もRails初心者で、最近Redmineの導入のためpassengerなどを、さくらVPSで設定してたんですが、


以下のように同じエラーが出てしまいました。
no such file to load -- rubygems/path_support

私の場合、rubyを導入するにあたってrvmを使いました。
さらにrvmを /home/ユーザ/.rvm
というような階層に置いていました。

そしてエラーの原因ですが
/home/ユーザ の ユーザ ディレクトリの権限が問題でした
初めは ユーザの権限が rwx------ となっていましたが、
これを chmod 755 ユーザ として rwxr-xr-xなどとすると
エラーが消え、アプリの画面が表示されました。

つまり、そのgemやrubyに至るまでの階層で、権限をゆるくしまくったら、いけるのではないかと思います。
それはそれでまずいのでしょうが、とりあえずこれで解消されるとおもいます。

私の場合はrvmを使っていたので参考になるかわかりませんが、少しでも力になれたら幸いです。
    • good
    • 0
この回答へのお礼

お礼が遅くなってしまいもし訳ありません。

お陰様で無事解決致しました。
git cloneを行った際にdatabase.yamlもcloneの対象としていたのが原因だったようです。
database.yamlをclone対象から除き、サーバーサイドにて任意の設定を施したとこ解決
致しました。

ご回答ありがとうございました。

お礼日時:2012/08/21 18:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!