人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Railsに関する質問です。
ruby script/consoleを実行すると、次のようなエラーが出ます。
具体的な解決方法をご教授ください。

*エラー
% ruby script/console
Loading development environment (Rails 2.3.8)
Missing the Rails 2.3.8 gem. Please `gem install -v=2.3.8 rails`, up
#ruby script/serverは正常に動作します

*経緯
1.rails2.3.8をインストール(この段階では正常に動作していました)
2.rails3.1.0をインストール
3.rails3.1.0をアンインストール(2.3.8と重なるgemもアンインストール)
4.現在(rails2.3.8はインストール済)
#gem listをコメント欄に記載しました

*環境
Mac OS X 10.6.8
ruby 1.9.2

よろしくお願い致します。
#せんせいを募集しています。詳細はコメント欄をご参照ください。

●質問者: ぷりっぷりのおしり
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● はなだ
●0ポイント

先生達(現在7名):http://twitter.com/#!/puriketu99/prk2master

下記に関する私の人力検索上の質問をTwitterのリプライで通知しようと思っています。

通知されることに差し支えがなければ、リプライをください。

http://twitter.com/#!/puriketu99

得意分野や何か一言ありましたら、書き添えてご連絡頂けると幸いです。

・Google App Engine for python

・python

・JavaScript

・Ruby

・Rails

・PhoneGap(iPhone,Android)

・Debian/Linux

・Top Coder

・Jenkins

・Salesforce

・Mac OS X

・各種API、ライブラリ

・その他周辺事項

補足

・全てに精通している必要はありません

・もし、途中で通知がご面倒になった場合は、一言おっしゃっていただければ通知をしないようにします

・気が向いたときに回答していただければ充分です

・開発をしているときは高い頻度で質問することがあります

・初歩的な質問が多いです(http://q.hatena.ne.jp/puriketu99/questionlist)

・なるべく、答えを知っている人であればすぐに答えられるような質問をするようにしています

・何か不明点があれば、Twitterやコメント欄でお問い合わせください


2 ● takano32
●150ポイント

Rails 2.3.8 をアンインストールしたあとに、もういちど Rails 2.3.8 をインストールすると Rails 3.1.0 のアンインストールで消えたものでも、Rails 2.3.8 の動作に必要なものは再度インストールされるのではないかな、と思いますがどうでしょう。

◎質問者からの返答

いつも回答ありがとうございます。

Railsの入れ直しを行って見ましたが、改善しませんでした。

もうすこし色々やってみます。


3 ● ペッタン
●150ポイント ベストアンサー

script/console と script/runner の環境の指定方法の違いがあるので、

そこをもう一度確認してみてはいかがでしょうか?

(環境の設定をするコードも全然違います。)

rails-2.1.2/lib/commands/runner.rb

require 'optparse'

options = { :environment => (ENV['RAILS_ENV'] || "development").dup }

ARGV.clone.options do |opts|

opts.on("-e", "--environment=name", String,

"Specifies the environment for the runner to operate under (test/devel

opment/production).",

"Default: development") { |v| options[:environment] = v }

end

ENV["RAILS_ENV"] = options[:environment]

RAILS_ENV.replace(options[:environment]) if defined?(RAILS_ENV)

rails-2.1.2/lib/commands/console.rb

ENV['RAILS_ENV'] = case ARGV.first # (1)

when "p": "production"

when "d": "development"

when "t": "test"

else

ARGV.first || ENV['RAILS_ENV'] || 'development'

end

console の方は (1) を見ると最初の一文字しか見ていないように見せかけておいて、script/console で require している initializer で config/environments/#{一文字}.rb というコードがあるため(下記 (2)を参照)、環境名をちゃんと指定しないといけないので、注意が必要です。

◎質問者からの返答

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

下記の点が不明でした。お手数おかけいたしますが、補足していただけると幸いです。

>script/console と script/runner の環境の指定方法の違いがあるので、

>そこをもう一度確認してみてはいかがでしょうか?

>(環境の設定をするコードも全然違います。)

>rails-2.1.2/lib/commands/runner.rb

確認先のパスがわかりませんでした。

>(下記 (2)を参照)

該当の箇所がわかりませんでした。

申し訳ありませんが、よろしくお願い致します。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ