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

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

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/10/10 12:35:22
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:pettann No.3

回答回数128ベストアンサー獲得回数17

ポイント150pt

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)を参照)、環境名をちゃんと指定しないといけないので、注意が必要です。

id:puriketu99

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

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

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

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

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

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

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

>(下記 (2)を参照)

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

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

2011/10/06 17:59:48

その他の回答2件)

id:hanada0511 No.1

回答回数7ベストアンサー獲得回数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やコメント欄でお問い合わせください

id:takano32 No.2

回答回数58ベストアンサー獲得回数5

ポイント150pt

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

id:puriketu99

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

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

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

2011/10/06 17:44:21
id:pettann No.3

回答回数128ベストアンサー獲得回数17ここでベストアンサー

ポイント150pt

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)を参照)、環境名をちゃんと指定しないといけないので、注意が必要です。

id:puriketu99

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

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

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

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

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

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

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

>(下記 (2)を参照)

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

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

2011/10/06 17:59:48
  • id:puriketu99
    % gem list

    *** LOCAL GEMS ***

    actionmailer (2.3.8)
    actionpack (2.3.8)
    activerecord (2.3.8)
    activeresource (2.3.8)
    activesupport (2.3.8)
    ansi (1.3.0)
    arel (2.2.1)
    asf-soap-adapter (1.3.1)
    bcrypt-ruby (3.0.1)
    builder (3.0.0)
    bundler (1.0.21)
    coffee-rails (3.1.1)
    coffee-script (2.2.0)
    coffee-script-source (1.1.2)
    erubis (2.7.0)
    execjs (1.2.9)
    facets (2.8.4)
    hike (1.2.1)
    hpricot (0.8.4)
    i18n (0.6.0)
    jquery-rails (1.0.14)
    mail (2.3.0)
    mime-types (1.16)
    minitest (1.6.0)
    multi_json (1.0.3)
    oauth (0.4.5, 0.4.4)
    polyglot (0.3.2)
    rack (1.3.4, 1.1.2)
    rack-cache (1.0.3)
    rack-mount (0.8.3)
    rack-ssl (1.3.2)
    rack-test (0.6.1)
    rails (2.3.8)
    railties (3.1.0)
    rake (0.8.7)
    rdoc (3.9.4, 2.5.8)
    rforce (0.7)
    rforcedotcom (20.0.0)
    sass (3.1.8)
    sass-rails (3.1.4)
    sprockets (2.0.1)
    sqlite3 (1.3.4)
    thor (0.14.6)
    tilt (1.3.3)
    treetop (1.4.10)
    turn (0.8.2)
    tzinfo (0.3.30)
    uglifier (1.0.3)

    % rails -v
    Rails 2.3.8
  • id:puriketu99
    プログラミングの先生を募集しています

    先生達(現在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やコメント欄でお問い合わせください
  • id:puriketu99
    プログラミングの先生を募集しています

    先生達(現在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やコメント欄でお問い合わせください

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません