我已经使用 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”安装的所有内容都可以执行了。