2016-03-21 167 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