我几天前最初使用以下方法安装了ruby:
sudo apt-get install ruby-full
这让我可以使用rake和Unity测试框架.现在我想使用cmock.使用cmock的说明然后说到cd目录
$bundle install $bundle exec rake
所以我使用以下方法安装bundler:
$sudo apt-get install bundler
但随后运行捆绑安装不断要求我输入密码.所以我尝试:
$gem install bundler
哪个对/var/lib/gems/1.9.1的写权限失败.所以我尝试:
$sudo gem install bundler
哪个安装好,所以我再次尝试捆绑安装.但仍然不断询问我的密码.所以我尝试:
$sudo bundle install
并得到一个警告,我不应该以root身份运行bundler:
Don’t run Bundler as root. Bundler can ask for sudo if it is needed,and installing your bundle as root will break this application for all non-root users on this machine.
如何正确安装,以便我可以按预期运行它?
注意:我已经看到关于这个主题还有其他几个问题,我没有理解答案,所以让我强调我不是一个ruby(甚至是web stack)开发者 – 我需要这个问题,就像外行人的说法一样多.可能.
另请注意:我确实看到了几个关于RVM和rbenv的提及.我不确定它们是否特别附带于这些问题,或者是否需要其中一个或两个.我目前也没有.我准备研究他们现在的情况.
注意第三个:我的平台是WSL(所以Ubuntu,有点).
解决方法
我对一个简短的答案的理解.可以有他们需要使用的Ruby的差异版本(遗留项目等),而不是每个版本的Ruby都可以运行给定gem的每个版本.出于这个原因,可以使用rbenv或rvm来帮助管理使用特定版本的ruby设置项目的艺术,然后安装所需的gem.
我一直在使用我的mac上的rvm和linux中的rbenv,发现它们对于我一直在做的简单的事情都足够相似.在linux上安装rbenv证明稍微容易一些.一旦设置正确,不再需要sudo来安装宝石 – 这是首选.我建议尝试其中一个并按照他们的网站说明进行安装.一旦设置,事情应该会更顺畅.