如何以普通用户

时间:2016-11-02 16:54:26

标签: ruby bundler unity-test-framework

我正在尝试使用bundle install。我不是Ruby用户 - 这是我第一次真正涉足甚至运行rake。我只想尝试使用来自ThrowtheSwitch.org的一些使用Rake等的软件包。

我最初几天前使用以下方法安装了ruby:

sudo apt-get install ruby-full

这允许我在Unity测试框架中使用rake。现在我想使用CMock。使用CMock的说明向cd说到目录

$ bundle install
$ bundle exec rake

所以我使用以下方法安装bundler:

$ sudo apt-get install bundler

但随后运行bundle install不断询问我的密码。所以我试试:

$ gem install bundler

对于/var/lib/gems/1.9.1的写入权限失败。所以我试试:

$ sudo gem install bundler

安装好,所以我再次尝试bundle install。但仍然不断询问我的密码。所以我试试:

$ sudo bundle install

并警告我不应该以root身份运行bundler:

  

不要以root身份运行Bundler。如果需要,Bundler可以请求sudo,并且以root身份安装捆绑包将破坏此计算机上所有非root用户的此应用程序。

如何正确安装,以便我可以按预期运行?

注意:我已经看到关于这个主题还有其他一些问题,其中没有一个我理解答案,所以让我强调我不是一个红宝石(甚至是网络堆栈)开发者 - 我需要这个外行的术语尽可能多。

另请注意:我确实看到了几个关于RVM和rbenv的提及。我不确定它们是否特别附带于这些问题,或者是否需要其中一个或两个。我目前也没有。我将准确研究他们现在的情况。

注意第三个:我的平台是WSL(所以Ubuntu,有点)。

3 个答案:

答案 0 :(得分:3)

我几个星期以来一直在使用Ruby。我会说,我知道你在哪里。我不是要提供很多帮助,而是会对评论中的最后一个问题说,我的理解是这两个命令是不同的。

我对简短回答的理解。可以使用他们需要处理的Ruby版本(遗留项目等),而不是每个版本的Ruby都可以运行给定gem的每个版本。出于这个原因,可以使用rbenv或rvm来帮助管理使用特定版本的ruby设置项目的艺术,然后安装所需的gem。

我一直在使用我的mac上的rvm和linux中的rbenv,并且发现它们与我一直在做的简单事情相似。在linux上安装rbenv证明稍微容易一些。一旦设置正确,不再需要sudo来安装宝石 - 这是首选。我建议尝试其中一个并按照他们的网站说明进行安装。一旦设置,事情应该会更顺畅。

答案 1 :(得分:2)

尝试跑步:

gem install bundler
bundle install

我将尝试解释红宝石生态系统的工作原理:

Bundler是一个宝石 - 一个模块 - 安装在ruby之上。宝石是使用

安装的
 gem install <gem name>

我建议您在执行任何其他操作之前先查看安装ruby版本管理器。两个主要候选人是RVM和rbenv。

我发现RVM对于初学者来说是一个更简单的选项,但它会占用更多硬盘空间。

安装ruby后,您可以通过从命令行调用ruby -v来测试它是否已正确安装。

之后,您可以通过调用gem install bundler

来安装bundler

安装gem之后,您应该能够运行bundler,但是如果您使用的是rbenv,则可能需要先运行rehash

我希望这种解释是有道理的 - 如果您有疑问,请大声说出来。

答案 2 :(得分:0)

如果您 - 由于某种原因 - 坚持安装 ruby​​, 这可以完成工作:

export GEM_HOME="$(ruby -e 'puts Gem.user_dir')"
export PATH="$GEM_HOME/bin:$PATH"

在别处找到它:https://guilhermesimoes.github.io/blog/using-bundler-with-system-ruby