0

私のサーバーでは、実行すると次のruby -vようになります:}

ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]

しかし、私が走るsudo ruby -vと私は得る

ruby 1.8.7 (2010-01-10 patchlevel 249) [i486-linux]

ここで提案されているように代替案を設定しようとしましたが、エラー メッセージが表示されました。rvm でデフォルトのオプションも試しましたが、どちらも機能しませんでした

サーバーでやろうとしているので、ルート権限(su)がないので、試せないことがいくつかあります。

Ruby 1.9.2 を使用するにはどうすればよいですか? 私はメッセージを受け取っています

Could not find paperclip-3.0.3 in any of the sources (Bundler::GemNotFound)

Exception class:
PhusionPassenger::UnknownError
and I am sure it is caused by the ruby version.

ここで提案されているように Passenger の ruby​​ パスを設定する必要があるだけかもしれませんが、PassengerRuby を設定する必要があるファイル vhost が見つからないようです

4

2 に答える 2

1

インテントが 8 時間失敗した後、これで解決しました。

私がしなければならなかったのは、Apache/Passenger を再度構成することだけでした。

rvm use 1.9.2
gem install passenger --pre
passenger-install-apache2-module

指示に従ってApacheをインストールしました。次に、前に説明したようにファイル apache2.conf を構成しました。ここに、命令で指定されたコード行を貼り付けました (そして、ruby1.8 を参照している他の行を見つけたので、今は ruby​​ 1.9.2 を参照しています)。

次に、Apacheを再起動しました

 sudo apache2ctl restart

この投稿のおかげで、サイトで提案されているようにvhostファイル(見つけられなかった)を編集する必要はありませんでした。再インストール、新しい行の追加、Apacheの再起動で問題が解決しました

于 2012-05-07T02:41:37.800 に答える
0

あなたが言っていることは、サーバーに Ruby 1.8.7 と 1.9.2 の両方があることを意味します。PATH変数を比較すると、きっと

echo $PATH

sudo echo $PATH

違いがわかります。which を使用して、Ruby がインストールされている場所を特定できます。

which ruby

sudo which ruby

その後、PATH を更新するか、正しい Ruby バージョンを明示的に呼び出すことができるはずです。

利用可能な情報を考えると、私がお手伝いできるのはこれくらいですが、その情報を投稿したい場合は、もっとお手伝いできるかもしれません. sudo はできるが root パーマがない場合、誰がそれを行い、サーバーを編集できますか? 共有ホスティングを実行していますか?

お役に立てれば。

于 2012-05-07T00:28:21.857 に答える