Tob*_*oby 7 ruby bundler unity-test-framework
我正在尝试使用bundle install. 我不是 Ruby 用户——这是我第一次真正涉足运行 rake。我只是尝试使用 ThrowtheSwitch.org 中使用 Rake 等的一些软件包。
几天前我最初使用以下方法安装了 ruby:
sudo apt-get install ruby-full
Run Code Online (Sandbox Code Playgroud)
这让我可以在 Unity 测试框架中使用 rake。现在我想使用 CMock。使用 CMock 的说明说cd进入目录然后
$ bundle install
$ bundle exec rake
Run Code Online (Sandbox Code Playgroud)
所以我使用以下方法安装捆绑器:
$ sudo apt-get install bundler
Run Code Online (Sandbox Code Playgroud)
但是然后运行bundle install不断地询问我的密码。所以我尝试:
$ gem install bundler
Run Code Online (Sandbox Code Playgroud)
对 /var/lib/gems/1.9.1 的写权限失败。所以我尝试:
$ sudo gem install bundler
Run Code Online (Sandbox Code Playgroud)
安装正常,所以我再试bundle install一次。但仍然不断被要求输入我的密码。所以我尝试:
$ sudo bundle install
Run Code Online (Sandbox Code Playgroud)
并得到一个警告,我不应该以 root 身份运行 bundler:
不要以 root 身份运行 Bundler。如果需要,Bundler 可以请求 sudo,并且以 root 用户身份安装你的 bundle 会破坏该机器上所有非 root 用户的应用程序。
如何正确安装它以便我可以按预期运行它?
注意:我已经看到关于这个主题还有其他几个问题,我没有理解这些问题的答案,所以让我强调我不是一个红宝石(甚至网络堆栈)开发者 - 我需要这个外行人的术语可能的。
另请注意:我确实看到多次提到 RVM 和 rbenv。我不确定它们是否特别与这些问题有关,或者是否需要一个或两个。我目前也没有。我即将研究它们现在到底是什么。
注意第三点:我的平台是 WSL(所以是 Ubuntu,有点像)。
小智 5
如果您出于某种原因坚持在系统中安装 ruby,则可以执行以下操作:
export GEM_HOME="$(ruby -e 'puts Gem.user_dir')"
export PATH="$GEM_HOME/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)
在其他地方找到它:https ://guilhermesimoes.github.io/blog/using-bundler-with-system-ruby
小智 3
我使用 Ruby 才几周时间。我会说,我知道你在哪里。我不会提供太多帮助,但会说,对于评论中的最后一个问题,我的理解是这两个命令是不同的。
我对简短答案的理解是:人们可以拥有需要使用的不同版本的 Ruby(遗留项目等),并且并非每个版本的 Ruby 都可以运行给定 gem 的每个版本。因此,可以使用 rbenv 或 rvm 来帮助管理使用特定版本的 ruby 设置项目,然后安装所需的 gem 的艺术。
我一直在我的 mac 上使用 rvm 并在 Linux 上使用 rbenv,发现它们对于我一直在做的简单事情来说足够相似。事实证明,在 Linux 上安装 rbenv 稍微容易一些。一旦正确设置,就不再需要 sudo 来安装 gem - 这是首选。我建议尝试其中之一并按照他们的网站说明进行安装。一旦设置完毕,事情应该会变得更顺利。
| 归档时间: |
|
| 查看次数: |
3735 次 |
| 最近记录: |