Ruby rbenv:gem命令在Linux上找不到

Ruby rbenv:gem命令在Linux上找不到,ruby,ubuntu,rbenv,Ruby,Ubuntu,Rbenv,我使用的是LinuxMint17.2。 我最近用apt-get-purge-ruby删除了ruby 然后我安装了rbenv,然后又安装了rbenv 2.3.0,所以现在,~/.rbenv/versions/2.3.0/bin/ruby已经存在 但是现在,我不能安装rubocop了。我明白了: $ gem install rubocop rbenv: gem: command not found The `gem' command exists in these Ruby versions:

我使用的是LinuxMint17.2。 我最近用
apt-get-purge-ruby
删除了ruby

然后我安装了
rbenv
,然后又安装了
rbenv 2.3.0
,所以现在,
~/.rbenv/versions/2.3.0/bin/ruby
已经存在

但是现在,我不能安装rubocop了。我明白了:

$ gem install rubocop
rbenv: gem: command not found

The `gem' command exists in these Ruby versions:
  2.3.0
但是我可以安装rubocop
~/.rbenv/versions/2.3.0/bin/gem
。 但是,一旦完成,我就无法使用它:

$ 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吗?

试试运行
rbenv global 2.3.0&&rbenv rehash
看起来你还没有运行rbenv shell魔法来为路径添加bin垫片

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
建议将其添加到.bashrc或.bash_配置文件中,以便在登录时执行


通读-它涵盖了rbenv和bundler,但初始设置将是您需要查看的内容。

这也是我最初的想法,但我的rc文件中有所需的内容。我甚至多次向他们提供源代码,以确保所需的路径位于$PATH中。不过,Mikes的解决方案对我有效。感谢您抽出时间回复!很高兴您对它进行了排序:)
如果哪个rbenv>/dev/null;然后求值“$(rbenv init-”;fi
对于评估线更安全。谢谢,迈克。这对我有用。你能解释一下你的答案吗?我想知道我做错了什么。你应该在使用之前选择ruby版本,你只安装了它,但没有选择。而且,在我理解的更新rbenv status的主要操作
rbenv rehash
之后,每次安装构建本机代码的gem时,都必须运行rbenv rehash以将shell magic更新到新gem。如果你忘了这件事,你会被绊倒的。@MikeBelyakov你的评论应该是对答案的轻描淡写,因为它描述了命令的本质。