我使用RVM,Ruby Version Manager为每个Rails项目指定一个Ruby版本和一组gem。
我有一个.rvmrc
文件,可以在cd
到项目目录时自动选择Ruby版本和gemset。
安装RVM 1.19.0后,我收到一条消息
您正在使用
.rvmrc
,它需要信任,它更慢而且确实如此 与其他ruby管理器不兼容,您可以切换到.ruby-version
使用rvm rvmrc to [.]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
文件?哪个是最佳的?有什么后果?
答案 0 :(得分:370)
如果您的.rvmrc
文件包含自定义shell代码,请继续使用.rvmrc
,因为它允许您包含任何shell代码。
如果你的唯一目的是切换Ruby版本,那么使用其他Ruby版本切换器支持的.ruby-version
,例如rbenv或chruby。此文件也不需要信任,因为它只是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
答案 1 :(得分:76)
从.rvmrc切换到.ruby-version + .ruby-gemset
的快速简便方法rvm rvmrc to .ruby-version
答案 2 :(得分:4)
如果您想以简短的方式创建.ruby-version
和.ruby-gemset
文件,可以使用以下命令:
rvm use 2.1.1@nancy --create
rvm --create --ruby-version 2.1.1@nancy
答案 3 :(得分:2)
你可以尝试两者。
转到项目的根目录,创建 .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-version 中的 ruby-2.0.0-p451
.ruby-gemset中的
your_gemset
如果您愿意,可以尝试手动执行:)
答案 4 :(得分:0)
使用以下方法安装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
创建一个gemse:
rvm gemset create project_gemset
并使用gemset:
rvm gemset use project_gemset