使用jRuby的项目,但在我工作的本地工作时,我经常使用MRI,因为它更快。
现在切换到是一个主要的烦恼,这是我从jruby切换到MRI的方式:
rvm use ruby-2.1.5
sed -i.bak 3s/.*/ruby" '2.1.5'"/ Gemfile
替换我的Gemfile并指定正确版本的ruby。现在我想从我的rails项目的bin/
文件夹中创建两个可执行文件,一个名为mri
,另一个名为jruby
,因此我可以使用一个命令在两者之间来回切换,并且这样每个在团队中工作的人都可以使用相同的。
问题在于,当shell执行时,RVM不会更改当前会话中的ruby版本。所以很自然地我得到了这样的信息:
您的Ruby版本是2.0.0,但您的Gemfile指定为2.1.5
这是我尝试做的好方法吗? 我很确定我不是第一个尝试这个的人
你们已经有适合自己的东西吗?
答案 0 :(得分:0)
正如评论所指出的,您需要重新获取rvm脚本。
您可能只需再次来源~/.bash_profile
或~/.bash_rc
,因为它们应该来源。
话虽这么说,我没有rbenv这个问题,但我只在MRI版本之间交换。
RVM和rbenv都有一个.ruby-version
文件see here的规范。
对于捆绑bin存根,您可specify a bin path使用bundle binstubs --path mri-bin
。