0

サーバーにgemをインストールせずに、Rails 3/Phusion Passenger/Apache2アプリをUbuntu 12.04サーバーにデプロイする必要があります。

Debian パッケージをインストールできます。

デプロイ後にPassengerが Rails とすべて宝石と幸せになる?

(多くの人が、なぜ私がこれをやりたいのか知りたがっていることを知っています。残念ながら、それについて話すことはできません。申し訳ありません。)

うまくいかなかったことがいくつかあります。少し修正すればそのうちの1つが機能する可能性がありますが、わかりません:

失敗した方法 1:

  1. Ubuntu 12.04 開発マシン上。ルビー 1.9.3。バンドラー 1.3.5。バンドル パッケージ --all. Git コミット。
  2. Ubuntu 12.04 サーバー マシン上 (インターネットからの gem インストールは不可)。プロジェクト ファイルをデプロイし、パッケージをインストールします (apache2、ruby1.9.3、ruby-bundler、rubygems、libapache2-mod-passenger には ruby​​1.8 が含まれています)。bundle -v は、Bundler バージョン 1.0.15 (ruby-bundler パッケージから) を提供します。開発マシンの .bundle/config ファイルもデプロイされていることを確認してください。bundle install --local は、github から git gems をダウンロードしようとするため、失敗します。
4

3 に答える 3

0
  • http://rubygems.org/downloads/bundler-1.3.5.gemから bundler 1.3.5 gem をダウンロードし、 vendor/ に配置します。

  • Ubuntu 12.04 VM では、bundle package --all を実行します。Git コミットしてプッシュします。

  • Ubuntu サーバーでクローンを作成します。

  • apt-get で apache2、ruby1.9.3 などをそれぞれインストールします (rubygems や ruby​​-bundler ではありません。どちらも古いバージョンの Rubygems と Bundler を提供します。新しいバージョンの ruby​​gems は ruby​​1.9.3 パッケージに含まれています)。

  • http://www.modrails.com/documentation/Users%20guide%20Apache.html#install_on_debian_ubuntuのセクション 2.3 のすべての指示に従ってください。

  • ruby および gem コマンドに適切な Ruby および Rubygems のバージョンが設定されていることを確認します。

update-alternatives --install /usr/bin/ruby ruby​​ /usr/bin/ruby1.9.3 200 update-alternatives --install /usr/bin/gem gem /usr/bin/gem1.9.3 200

(Phusion Passenger はこれを気にしませんが、今後インストールしようとしている gem や、Rails コンソールなどを使用してデバッグする場合には、おそらく良い考えです。)

  • gem install --local vendor/bundler-1.3.5.gem

  • バンドル インストール --local

  • 他のすべてのApache構成をセットアップします...

  • サービス apache2 の再起動

于 2013-10-21T22:45:58.843 に答える