2016-03-21 165 views
3

我在Linux Mint 17.2上。 我最近刪除了紅寶石apt-get purge rubyrbenv:在Linux上找不到gem命令Mint

然後我安裝rbenv,然後做rbenv install 2.3.0所以現在~/.rbenv/versions/2.3.0/bin/ruby存在。

但現在,我不能做gem install rubocop。我得到這個:

$ gem install rubocop 
rbenv: gem: command not found 

The `gem' command exists in these Ruby versions: 
    2.3.0 

但我可以做~/.rbenv/versions/2.3.0/bin/gem install rubocop。 但是,一旦我做,我不能用它:

$ rubocop --auto-correct 
-bash: /usr/local/bin/rubocop: /usr/bin/ruby1.9.1: bad interpreter: No such file or directory 

我也無法找出這紅寶石的來源:

$ dpkg -S /usr/bin/ruby1.9.1 
dpkg-query: no path found matching pattern /usr/bin/ruby1.9.1 

這是可能的,然後經RVM安裝很久以前。

任何想法如何我可以修復我的Ruby?

回答

10

嘗試運行rbenv global 2.3.0 && rbenv rehash

+0

謝謝邁克。這對我有效。你能爲你的答案提供一個解釋嗎?我想知道我做錯了什麼。 – Housni

+2

你應該在使用之前選擇ruby版本,並且你只安裝它,但沒有選擇。並且,在主要操作'rbenv rehash'後更新rbenv狀態 –

+0

據我所知,每次安裝構建本地代碼的gem時,都必須運行rbenv rehash以將shell魔法更新爲新的gem。如果你忘了它,這可能會讓你失望。 –

4

它看起來像你沒有運行rbenv外殼魔術箱墊片添加到您的路徑。

export PATH="$HOME/.rbenv/bin:$PATH" 
eval "$(rbenv init -)" 

建議將它添加到您的.bashrc或.bash_profile,以便它在登錄時執行。

通過讀取this - 它涵蓋rbenv和bundler,但最初的設置將是你需要看的。

+0

這就是我最初的想法,但我在我的rc文件中有必需的內容。我甚至多次找到它們,以確保所需的路徑在$ PATH中。但麥克斯解決方案爲我工作。感謝您花時間回覆! – Housni

+0

很高興你把它分類:) – mcfinnigan

+0

'如果哪個rbenv>/dev/null;然後eval「$(rbenv init - )」; fi'對於評估線更安全。 – voidstate