如何 运行 以普通用户身份进行捆绑安装
How to run bundle install as normal user
我正在尝试使用 bundle install
。我不是 Ruby 用户 - 这是我第一次真正尝试 运行ning rake。我只是想使用 ThrowtheSwitch.org 中使用 Rake 等的一些软件包。
几天前我最初安装 ruby 使用:
sudo apt-get install ruby-full
这让我可以将 rake 与 Unity 测试框架结合使用。现在我想使用 CMock。使用 CMock 的说明说 cd
进入目录然后
$ bundle install
$ bundle exec rake
所以我使用以下方式安装捆绑器:
$ sudo apt-get install bundler
但是 运行ning bundle install
不断地询问我的密码。所以我尝试:
$ gem install bundler
/var/lib/gems/1.9.1 的写入权限失败。所以我尝试:
$ sudo gem install bundler
安装正常,所以我再次尝试 bundle install
。但是仍然不断地询问我的密码。所以我尝试:
$ sudo bundle install
并收到警告,我不应该 运行 以 root 身份打包:
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.
我怎样才能正确安装它,以便我可以 运行 按预期安装它?
注意:我看到还有其他几个关于这个主题的问题,none 我理解其中的答案,所以让我强调一下,我不是 ruby(甚至网络stack) dev - 我需要尽可能通俗易懂。
另请注意:我确实看到多次提到 RVM 和 rbenv。我不确定它们是否特别是这些问题的附带问题,或者是否需要其中一个或两个。我目前也没有。我即将研究它们现在到底是什么。
注意第三个:我的平台是WSL(所以Ubuntu,有点)。
我与 Ruby 合作才几个星期。我会说,我知道你在哪里。对于评论中的最后一个问题,我不会提供太多帮助,但我会说,我的理解是这两个命令是不同的。
我对一个简短答案的理解。一个人可以有不同版本的 Ruby 他们需要使用(遗留项目等)而不是 Ruby 的每个版本都可以 运行 每个版本给定 gem。出于这个原因,可以使用 rbenv 或 rvm 来帮助管理使用特定版本 ruby 设置项目然后安装所需 gem 的艺术。
我一直在 mac 上使用 rvm,在 linux 上使用 rbenv,发现它们对于我一直在做的简单事情来说非常相似。在 linux 上安装 rbenv 证明稍微容易一些。正确设置后,安装 gems 不再需要 sudo - 这是首选。我建议尝试其中一种并按照其网站说明进行安装。一旦设置好,事情应该会变得更顺利。
尝试 运行宁:
gem install bundler
bundle install
我将尝试解释 ruby 生态系统的运作方式:
Bundler 是一个 gem - 一个安装在 ruby 之上的模块。使用
安装 Gem
gem install <gem name>
我建议您在执行任何其他操作之前先安装 ruby 版本管理器。两个主要候选者是 RVM 和 rbenv。
我发现 RVM 对于初学者来说是更简单的选择,但它会占用更多 space 硬盘空间。
- 在 https://rvm.io/
查看如何安装 rvm
- 或者在 https://github.com/rbenv/rbenv
查看 rbenv
安装 ruby 后,您可以通过从命令行调用 ruby -v
来测试它是否安装正确。
之后你可以通过调用gem install bundler
来安装bundler
安装 gem 后,您应该可以 运行 捆绑器,但是如果您使用的是 rbenv,则可能需要先 运行 重新哈希
希望解释得通 - 如有疑问请大声疾呼。
如果您出于某种原因无法安装 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
我正在尝试使用 bundle install
。我不是 Ruby 用户 - 这是我第一次真正尝试 运行ning rake。我只是想使用 ThrowtheSwitch.org 中使用 Rake 等的一些软件包。
几天前我最初安装 ruby 使用:
sudo apt-get install ruby-full
这让我可以将 rake 与 Unity 测试框架结合使用。现在我想使用 CMock。使用 CMock 的说明说 cd
进入目录然后
$ bundle install
$ bundle exec rake
所以我使用以下方式安装捆绑器:
$ sudo apt-get install bundler
但是 运行ning bundle install
不断地询问我的密码。所以我尝试:
$ gem install bundler
/var/lib/gems/1.9.1 的写入权限失败。所以我尝试:
$ sudo gem install bundler
安装正常,所以我再次尝试 bundle install
。但是仍然不断地询问我的密码。所以我尝试:
$ sudo bundle install
并收到警告,我不应该 运行 以 root 身份打包:
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.
我怎样才能正确安装它,以便我可以 运行 按预期安装它?
注意:我看到还有其他几个关于这个主题的问题,none 我理解其中的答案,所以让我强调一下,我不是 ruby(甚至网络stack) dev - 我需要尽可能通俗易懂。
另请注意:我确实看到多次提到 RVM 和 rbenv。我不确定它们是否特别是这些问题的附带问题,或者是否需要其中一个或两个。我目前也没有。我即将研究它们现在到底是什么。
注意第三个:我的平台是WSL(所以Ubuntu,有点)。
我与 Ruby 合作才几个星期。我会说,我知道你在哪里。对于评论中的最后一个问题,我不会提供太多帮助,但我会说,我的理解是这两个命令是不同的。
我对一个简短答案的理解。一个人可以有不同版本的 Ruby 他们需要使用(遗留项目等)而不是 Ruby 的每个版本都可以 运行 每个版本给定 gem。出于这个原因,可以使用 rbenv 或 rvm 来帮助管理使用特定版本 ruby 设置项目然后安装所需 gem 的艺术。
我一直在 mac 上使用 rvm,在 linux 上使用 rbenv,发现它们对于我一直在做的简单事情来说非常相似。在 linux 上安装 rbenv 证明稍微容易一些。正确设置后,安装 gems 不再需要 sudo - 这是首选。我建议尝试其中一种并按照其网站说明进行安装。一旦设置好,事情应该会变得更顺利。
尝试 运行宁:
gem install bundler
bundle install
我将尝试解释 ruby 生态系统的运作方式:
Bundler 是一个 gem - 一个安装在 ruby 之上的模块。使用
安装 Gem gem install <gem name>
我建议您在执行任何其他操作之前先安装 ruby 版本管理器。两个主要候选者是 RVM 和 rbenv。
我发现 RVM 对于初学者来说是更简单的选择,但它会占用更多 space 硬盘空间。
- 在 https://rvm.io/ 查看如何安装 rvm
- 或者在 https://github.com/rbenv/rbenv 查看 rbenv
安装 ruby 后,您可以通过从命令行调用 ruby -v
来测试它是否安装正确。
之后你可以通过调用gem install bundler
安装 gem 后,您应该可以 运行 捆绑器,但是如果您使用的是 rbenv,则可能需要先 运行 重新哈希
希望解释得通 - 如有疑问请大声疾呼。
如果您出于某种原因无法安装 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