2016-03-21 23 views
3

Linux Nane 17.2'deyim. Yakın zamanda apt-get purge ruby ile ruby'i kaldırdım.rbenv: gem komutları Linux'ta bulunmuyor Mint

rbenv yükledikten sonra rbenv install 2.3.0 yükledim, şimdi ~/.rbenv/versions/2.3.0/bin/ruby var.

Ama şimdi gem install rubocop yapamıyorum.

$ gem install rubocop 
rbenv: gem: command not found 

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

Ama ~/.rbenv/versions/2.3.0/bin/gem install rubocop yapabilirsiniz: Ben bu olsun. Ben bittim kez Ancak, bunu kullanamazsınız: Bu yakut nereden geldiğini

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

Ben de dışarı bulamıyor:

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

O RVM aracılığıyla yüklendiği mümkündür uzun zaman önce.

Ruby'mi nasıl düzeltebilirim?

cevap

10

size yoluna bin şim eklemek için rbenv kabuk büyü yayınlanmaz anlaşılıyor rbenv global 2.3.0 && rbenv rehash

+0

Teşekkürler Mike. Bu benim için çalıştı. Cevabınız için bir açıklama yapabilir misiniz lütfen? Neyi yanlış yaptığımı bilmek isterim. – Housni

+2

Kullanmadan önce yakut sürümünü seçmelisiniz ve sadece onu yüklediniz, ancak seçmediniz. Ve ayrıca, büyük operasyonlardan sonra rbenv rehash rbenv durumunu güncellemek için –

+0

Anladığım kadarıyla, her zaman size yerel kodu oluşturan bir gem yüklemek için bu yeni gem için kabuk sihir güncellemek için rbenv rehash çalıştırmak zorunda. Bu, unutursanız sizi bir demet kadar gezdirecek bir şeydir. –

4

çalıştırmak deneyin.

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

O .bashrc ya .bash_profile o girişte işletilirse böylece eklemek için önerilir.

this aracılığıyla bir okuma yapın - rbenv ve bundler'ı kapsar, ancak ilk kurulum bakmak için gerekenler olacaktır.

+0

Bu benim de ilk başta düşündüğüm şey ama rc dosyalarımda gereken içeriğe sahibim. Gerekli yolların $ PATH içinde olduğundan emin olmak için birkaç kez bile onları temin ettim. Ancak Mikes çözümü benim için çalıştı. Cevap vermek için zaman ayırdığınız için teşekkürler! – Housni

+0

Sevindiğine sevindim :) – mcfinnigan

+0

'hangi rbenv>/dev/null; sonra değerlendirme "$ (rbenv init -)"; fi', eval line için daha güvenlidir. – voidstate