• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:rubygems, railsのインストール)

railsのインストールができない問題

このQ&Aのポイント
  • 先日までruby1.9.3, rails3.2.4を使用できていたのですが、他にいろんなものをインストールをしていた時に何か変になってしまったのか、突然railsが使用できなくなってしまいました。
  • rails、gemの場所を調べるとopt/local/bin/となっているのですが、rails-vとすると-bash: /opt/local/bin/rails: /opt/local/bin/ruby: bad interpreter: No such file or directoryとなってしまって使えません。
  • gem -vとすると-bash: /opt/local/bin/gem: /opt/local/bin/ruby: bad interpreter: No such file or directoryとなってしまって使えません。しかしrubyは正常に動いているようです。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

> +nosuffixしてなければ、ruby/gemではruby1.8.x、 ruby1.9/gem1.9では1.9.xが使われるはず と書いたように、MacPortsでインストールしたRuby 1.9.xでは「1.9」というsuffix(後に付くもの)が付きます。 インストール時に+nosuffixを指定すれば、suffixが付きません。が、installed の結果は「ruby19 @1.9.3-p286_0+doc (active)」と nosuffixが無いので、1.9が付いています。 ただ、「ruby @1.8.7-p370_2 (active)」ともあるので、1.8.7もactiveで、/opt/local/bin/rubyが存在するはずなので、「opt/local/bin/ruby: bad interpreter: No such file or directory」というエラーとは状況が一致しないのが気になります。 sudo port -f deactivate ruby sudo port activate ruby でactiveしなおしたらこのエラー自体は治るかもしれません。 ただし、gemもrailsも1.8系になります。 1.9系を使うならgem1.9です あと、MacPortsには rb19-rails 等のrailsに関係するパッケージも用意されています。 Ruby1.9をMacPortsのものを使うなら、railsをはじめ、必要なものはrb19-で始まるパッケージをMacPortsからインストールして、足りないものはgem1.9で、というのがいいかと思います。

333ric
質問者

お礼

Railsを再インストールしたら解決しました。 親身に相談に乗っていただき、ありがとうございました。

その他の回答 (1)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

/opt/local/を使っている、ということは、MacPortsを使ってインストールしたRubyではないでしょうか? この他に、Macには最初からインストールされているRubyが /usr/bin/ruby にあります。 Rubyが使えるのは、この最初から入っていた方が使えているから。gemが使えないのは、MacPortsでインストールしたRubyを使おうとしているのに存在しないから、だと思われます。 最近、MacPortsでなにか操作しませんでしたか?ターミナルから port installed "ruby*" を実行して出てくるものに、rubyまたはruby19はありますか?activeになっていますか? activeになっていないなら、activateで、そもそも出てこないならinstallで有効にします。 あと、+nosuffixしてなければ、ruby/gemではruby1.8.x、 ruby1.9/gem1.9では1.9.xが使われるはずですが、質問には、gem を使って ruby1.9.3とあります。どちらなのでしょう?

333ric
質問者

補足

回答ありがとうございます。 ご指摘の通り、最近Kinectを使う環境を整える時にMacportsを使いました。 Railsが使えなくなったのはその後からです。 今確認したところ、 The following ports are currently installed: ruby @1.8.7-p370_2 (active) ruby19 @1.9.3-p286_0+doc (active) と表示されました。どちらもactiveになっているようです。 以前rubyをアップグレードしたい時にうまくいかず、rvmも使いました。 なので、だぶってしまっているのかもしれません… 最終的にrailsを使いたいのでgemが必要だと思っていたのですが、ruby初心者のためあまり詳しくなくてすみません。 今gem1.9 -vとしたところ、1.8.23と表示されました。 以前ruby19にアップグレードした時に、そのままだとruby19と入力しなければ使えないことがありましたが、それと同じ現象なのでしょうか?

関連するQ&A