在一个使用 jRuby 的项目上工作,但是当我在本地工作时,我经常使用 MRI,因为它更快。
现在在 to 之间切换是一个主要的烦恼,这就是我从 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 不会更改我当前 session 中的 ruby 版本。所以很自然地我收到了这条消息:
您的 Ruby 版本是 2.0.0,但您的 Gemfile 指定为 2.1.5
对于我正在尝试做的事情,这是一个好的方法吗? 很确定我不是第一个尝试这个的人
您是否已经有了适合自己的东西?
最佳答案
正如评论所指出的,您需要重新获取 rvm 脚本的资源。
您可能可以再次获取 ~/.bash_profile
或 ~/.bash_rc
,因为它们应该在那里获取。
也就是说,我在 rbenv 上没有遇到过这个问题,但我只在 MRI 版本之间交换。
还有一个 .ruby-version
文件的规范 see here RVM 和 rbenv 都荣幸。
对于捆绑 bin stub ,您可以 specify a bin path使用 bundle binstubs --path mri-bin
。
关于ruby-on-rails - 在 MRI 和 jruby 之间切换的 Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31656873/