gpt4 book ai didi

ruby - RVM Gemsets 和 Ruby Gemfile 混淆

转载 作者:数据小太阳 更新时间:2023-10-29 07:07:04 24 4
gpt4 key购买 nike

请有人帮助我了解 ruby​​ 应用程序如何管理应用程序的 gemfile 和 rvm gemsets。如果我当前使用的是 Gemset,安装了一堆 gem,并且我的 gemfile 中也有 gems,那么 Ruby 应用程序是使用 gemfile 中的 gem 还是应用程序的 gemset 中的 gem?

最佳答案

要理解这一点,您需要退后一步,了解 ruby​​ gems 的一般工作原理。
让我们从一个没有 rvm 或 Gemfile 的系统开始。
当您通过“gem install”安装 gem 时,它会进入系统 gem 位置。
每当您编写 ruby​​ 脚本并需要 gem 时,它就会从那里获取。

现在假设您需要为不同的项目使用不同版本的 gem。这就是 bundler 的用武之地。您创建一个 Gemfile,当您“捆绑安装”时,Gemfile 中列出的 gem 将被引入并在该项目的上下文中使用。您将需要执行“bundle install”以将它们引入,然后执行“bundle exec ruby​​”以使用 gem 版本运行。您可以有多个 gem 版本并选择一个使用哪个版本。如果您不通过 bundler ,您将使用系统中的任何内容。

现在开始。假设您想以有组织的方式更改“系统”gem 和 ruby​​ 版本。这基本上就是一个 rvm gemset。通过路径间接的魔力,您可以为不同的 gem 集安装 gem,并假装它们是系统 gem。

所以 gemsets 和 gemfiles 是相互正交的。如果您使用 gem 文件,gems 将安装在 gem 集中,但如果您通过 bundler,您通常不会关心它。

通常你会想要使用 Gemfile。

关于ruby - RVM Gemsets 和 Ruby Gemfile 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30384292/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com