无法运行通过 gem install 安装的程序

无法运行通过 gem install 安装的程序

我已经使用 RVM 安装了 Ruby。

我执行了 gem install rspec 命令,它似乎正确安装了 rspec。如果我执行 rspec,我会得到“程序‘rspec’当前未安装”的信息,并建议我使用 apt-get 安装它。

如果我再次尝试执行 gem install rspec,它会显示 rspec 已安装。我尝试执行 sudo gem install rspec,认为可能是权限问题,但终端显示 gem 程序未安装。

如何在 Ubuntu 中运行已“安装 gem” 的程序,而不诉诸“apt-get”?

答案1

我的问题是我的 gem 环境中的 ruby​​ 版本与 rvm 中的 ruby​​ 版本不同。

我使用了命令

gem env
which ruby

诊断问题。这给了我 gem 和 rvm 使用的 ruby​​ 版本,然后使用

rvm use <ruby-version>

为了匹配两个 ruby​​ 版本。

我发表了一篇博客文章,其中包含更多详细信息:运行安装在 rvm 下的 gem 中的可执行文件时出现问题

答案2

当你使用萊本相比 RVM,您可以选择运行rbenv rehash,它将把 gem 二进制文件放到路径中,以便您使用它。此外,rbenv rehash每次安装提供二进制文件的新 gem 时,您都需要运行 。

答案3

我在 Ubuntu 15.04 上似乎根本没有 rvm。解决方案是安装该rbenv软件包。现在我通过“gem install”安装的所有内容都可以执行了。

相关内容