
ruby on railsに詳しい方で分かる方がいればご教授いただきたいです。
先日までruby1.9.3, rails3.2.4を使用できていたのですが、他にいろんなものをインストールをしていた時に何か変になってしまったのか、突然railsが使用できなくなってしまいました。
OSはMac OS X 10.7.5です。
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は正常に動いているようです。
何か分かる方がいらっしゃいましたら、お力を貸して下さると非常に助かります。
作業ができずに困っています。どなたか、お願いします><
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で、というのがいいかと思います。
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とあります。どちらなのでしょう?
この回答への補足
回答ありがとうございます。
ご指摘の通り、最近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が見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(再質問)エクセルのマクロボ...
-
秀丸エディタで、同じ記号で囲...
-
CSSのhtmlへの紐付けについ...
-
Ruby 格納
-
Ruby newメソッド
-
1、Rstudioで回帰直線を求める...
-
a=2, b=1のとき”x=(a-b+3)%3”の...
-
Ruby require ライブラリー
-
ruby OpenURI::Meta
-
ruby while式
-
ruby loopメソッド 変数(再喝)
-
ruby 配列
-
ruby loopメソッド 変数
-
ruby クラス・オブジェクト・イ...
-
ルビー言語 ライブラリー 追記
-
ruby raise句
-
ruby begin句
-
ruby ensure句
-
ルビー言語 ライブラリー(再々...
-
ルビー言語 csvファイル 続き(...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windowsでchangenotifyしたい
-
Ruby / passenger のインストー...
-
We're sorry, but something we...
-
Ruby の実行について
-
Windows で Ruby/gsl を使う(連...
-
Ruby on rails sqlite3のドラ...
-
ruby1.9からtwitterライブラリ...
-
レンタルサーバでruby date2
-
win版Rubyインストールパッケー...
-
Ruby on Railsのインストールに...
-
Rubyのプログラミングをする環...
-
COBOLのIFの入れ子について
-
小文字wと大文字Wの区別
-
VB.NETで階乗を求めるプログラ...
-
Rubyのソースを難読化すると「u...
-
バーコードのチェックデジット...
-
Ruby on Railsでボタンをクリッ...
-
パソコンのフォルダ保存について
-
書店・アマゾンで購入できる、P...
-
プログラミング言語で大文字と...
おすすめ情報