2011-07-18 64 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出現,但它是紅色的(不知道這意味着什麼)。如果我cd /usr/bin/rubyless /usr/bin/ruby它給了我一個「沒有這樣的文件或目錄」

當我運行dpkg -L 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一樣,但bash無法找到它,因爲/usr/bin/ruby有些問題。任何想法如何解決這一問題?

回答

0

聽起來像/usr/bin/ruby是一個符號鏈接,其目標已被刪除。

如果您輸入命令ls -l /usr/bin/ruby,那將以長格式顯示關於該文件的信息。如果它是一個符號鏈接,則會顯示該鏈接的目標。這是什麼那是什麼命令用於顯示我(我在OS X):

[下午10:14]斌$ ls -l命令紅寶石lrwxr-XR-X 1根輪76 2010年7月28日 紅寶石 - > ../../System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby

假設它是一個符號鏈接,可以進入該鏈接的目標,看看是否該文件存在。我猜測它沒有,並且ruby安裝腳本僅檢查/ usr/bin/ruby​​的存在以確定是否安裝了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

聽起來像ruby是一半安裝,或者當你從源代碼卸載紅寶石版本,你沒有得到一切。我不確定在這一點上,這是我害怕Unix知識的限制。 :( – Andy