2011-07-18 8 views
0

Ruby 1.9.2をソースからインストールしていましたが、しばらく使用していましたが、RVMを使い始めたので、ソースRuby 1.9.2をアンインストールしてインストールしましたルビーはsudo apt-get install rubyを使用しています。私はruby --versionを実行したときしかし、今私が取得:ソースからのインストールとアンインストール後にRubyインストールが表示されない

The program 'ruby' is currently not installed. You can install it by typing: 
sudo apt-get install ruby 

私は何を取得which rubyを呼び出すとき。 (私が調達しました)私の/etc/environmentは含まれています

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/bin:/usr/games:/usr/bin" 

私はsudo apt-get install rubyを実行すると、それはすでにインストールさだと言っています。私がls /usr/binになると、rubyが表示されますが、赤で表示されます(その意味がわかりません)。私はdpkg -L rubyを実行すると、私はcd /usr/bin/rubyまたはless /usr/bin/rubyそれは私に「そのようなファイルまたはディレクトリ」

を与えない場合、それは私を与える:

/. 
/usr 
/usr/bin 
/usr/share 
/usr/share/doc 
/usr/share/doc/ruby 
/usr/share/doc/ruby/changelog.gz 
/usr/share/doc/ruby/ruby-policy.html 
/usr/share/doc/ruby/ruby-policy.html/index.html 
/usr/share/doc/ruby/ruby-policy.html/ch-ruby.html 
/usr/share/doc/ruby/ruby-policy.html/ch-module_packages.html 
/usr/share/doc/ruby/ruby-policy.html/ch-programs.html 
/usr/share/doc/ruby/ruby-policy.html/ap-build_dependencies.html 
/usr/share/doc/ruby/ruby-policy.html/ap-ruby1.8_bundled_modules.html 
/usr/share/doc/ruby/ruby-policy.html/ap-transition_1.6_to_1.8.html 
/usr/share/doc/ruby/README.Debian 
/usr/share/doc/ruby/copyright 
/usr/share/doc/ruby/ruby-policy.txt.gz 
/usr/share/doc/ruby/ruby-policy.sgml.gz 
/usr/share/man 
/usr/share/man/man1 
/usr/bin/testrb 
/usr/bin/erb 
/usr/bin/ruby 
/usr/share/man/man1/testrb.1.gz 
/usr/share/man/man1/erb.1.gz 
/usr/share/man/man1/ruby.1.gz 

を...それは確かにそれはそう/usr/bin/ruby

にインストールしていますので、 Rubyのようにインストールされていますが、/usr/bin/rubyで何か問題があるため、bashはそれを見つけることができません。任意のアイデアをどのようにこれを修正するには?

答えて

0

/usr/bin/rubyはシンボリックリンクで、そのターゲットは削除されているようです。

コマンドls -l /usr/bin/rubyを入力すると、ファイルに関する情報が長い形式で表示されます。シンボリックリンクの場合、リンクのターゲットが表示されます。この何のものを私のためにそのコマンドが示す(私はOS X上でよ):

[22:14]ビンの$のls -lルビーlrwxr-XR-X 1つのルートホイール76 2010年7月28日 ルビー - > ../../System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby

それがシンボリックリンクであると仮定すると、リンクのターゲットに移動してかどうかを確認そのファイルが存在します。私はそうではないと推測しています。そして、rubyのインストールスクリプトは、rubyがインストールされているかどうかを判断するために/ usr/bin/ruby​​の存在を確認するだけです。 /usr/bin/rubyを削除すると、これで問題が解決されるはずです。

+0

私はこれを既に試みました。しかし、私は 'ls -l'について忘れてしまった。 'lrwxrwxrwx 1 root root 7 2011-07-17 22:22/usr/bin/ruby​​-> ruby​​1.8'というメッセージが表示されます。 'dpkg -L ruby​​1.8'がインストール場所としてそれを列挙していても'/usr/bin/ruby​​1.8'はありません。私はそれがどういう意味であるのか分かりません... – kerkeslager

+0

ルビーは半分がインストールされているようですが、ソースからあなたのルビービルドをアンインストールしたときに、あなたはすべてを手に入れませんでした。私はこの時点では分かりませんが、これは私が恐れる私のUnix知識の限界です。 :( – Andy

関連する問題