ChatGPT解决这个技术问题 Extra ChatGPT

使用 rvmrc 或 ruby-version 文件使用 RVM 设置项目 gemset?

我使用 RVM,即 Ruby Version Manager 来为我的每个 Rails 项目指定一个 Ruby 版本和一组 gem。

每当我 cd 进入项目目录时,我都有一个 .rvmrc 文件来自动选择 Ruby 版本和 gemset。

安装 RVM 1.19.0 后,我收到一条消息

您正在使用 .rvmrc,它需要信任,速度较慢并且与其他 ruby 管理器不兼容,您可以使用 rvm rvmrc 切换到 .ruby-version 到 [.]ruby-version 或使用 rvm rvmrc warning ignore 忽略此警告/Users/userName/code/railsapps/rails-prelaunch-signup/.rvmrc,.rvmrc 将继续作为 RVM 1 和 RVM 2 中的默认项目文件,忽略所有运行 rvm 文件的警告 rvmrc warning ignore all.rvmrcs .

我应该继续使用我的 .rvmrc 文件还是应该切换到 .ruby-version 文件?哪个是最优的?有什么后果?


w
wpp

如果您的 .rvmrc 文件包含自定义 shell 代码,请继续使用 .rvmrc,因为它允许您包含任何 shell 代码。

如果您的唯一目标是切换 Ruby 版本,请使用 .ruby-version,它受其他 Ruby 版本切换器(例如 rbenvchruby)支持。该文件也不需要信任,因为它只是 Ruby 版本的名称,不会以任何方式执行。

如果您使用 .ruby-version,您可以在文件中包含 @gemset,但这与其他切换器不兼容。为了保持兼容性,请在单独的文件 .ruby-gemset 中使用 gemset 名称,该文件会被其他工具忽略(它只能与 .ruby-version 一起使用)

例如,如果您有一个简单的 .rvmrc

rvm use 1.9.3@my-app

它可以转换为 .ruby-version

1.9.3

.ruby-gemset

my-app

请务必删除 .rvmrc 文件,因为它优先于任何其他项目配置文件:

rm .rvmrc

请注意,并非所有应用程序都支持较新的 .ruby-version 和 .ruby-gemset 文件,但仅支持 .rvmrc。 (特别是RubyMine)。这当然会影响您选择是否迁移到新系统。我已经在答案中指出了这一点,因为我花了很多时间来追踪它。但是由于某种原因我的答案被删除了..
是否有任何“官方”文档的链接?我开始研究它在 RVM 站点中是如何工作的,但只是发现一些模糊的提及它作为新的 rvmrc 文件,但没有关于它应该如何工作。
它没有完全记录,但这里是我们已经rvm.io/workflow/projects/#ruby-versions
只需将 1.9.3-p194 放入 .ruby-version 对我不起作用。参考上面的文档,rvm --create --ruby-version use 1.9.3-p194做的工作,里面的内容其实是ruby-1.9.3-p194
当前版本的 RubyMine 确实支持 .ruby-version 样式。可以用6.3.2确认
S
Sam Backus

从 .rvmrc 切换到 .ruby-version + .ruby-gemset 的快捷方式

rvm rvmrc to .ruby-version

没错,但它把 [] 放在 .出于某种我还没有弄清楚的原因。 (也许这是我不熟悉的约定。)我实际上用谷歌搜索了这条消息并找到了这个答案,因为尴尬的措辞和 [] 让我不确定实际运行什么。
@zem [.]ruby-version 中的 [] 表示 the dot is optional;方括号是表示可选性的常用约定(通常,不是在 ruby 中。)所以你可以使用一个名为“ruby-version”的文件,不带点,也可以使用它。如果您希望在默认情况下隐藏“点文件”的系统上获得更多的文件可见性,这将很有用。不过,我同意这不是那么清楚。
它说Could not load .rvmrc
S
SgtPooki

如果您想以简短的方式创建 .ruby-version.ruby-gemset 文件,您可以使用如下命令:

rvm use 2.1.1@nancy --create

rvm --create --ruby-version 2.1.1@nancy

d
duykhoa

你可以两个都试试。转到项目的根目录,创建一个 .rvmrc 文件 (touch .rvmrc),然后编辑 rvm use 2.0.0-p451@your_gemset(您的 ruby 版本和 gemset 名称)。保存此文件后,您可以键入以下命令:

cd ../your_project(您位于 your_project 目录中),.rvmrc 中的脚本将执行。

RVM 推荐使用 ruby-version。您可以运行此命令从 .rvmrc 切换到 .ruby-version

rvm rvmrc to .ruby-version

它的作用是创建 2 个文件名 .ruby-version 和 .ruby-gemset 并添加这一行

ruby-2.0.0-p451 在 .ruby 版本中

your_gemset 在 .ruby-gemset

如果你愿意,你可以尝试手动进行:)


C
Community

使用以下命令安装 rvm:

\curl -sSL https://get.rvm.io | bash -s stable --rails

安装不同的 ruby 版本:

rvm install 1.8.7
rvm install 1.9.2

切换到特定的 ruby 版本。例如 1.8.7:

rvm use 1.8.7

要创建宝石:

rvm gemset create project_gemset

并使用 gemset:

rvm gemset use project_gemset

关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅