使用rbenv (例如2.3和3.1)可以使用多个版本的rails吗?在rvm中使用gemsets很容易做到这一点,但现在我想知道最好的方法是什么,因为我已经切换到rbenv (同时,我正在寻找一种不使用rbenv-gemset的方法)。
发布于 2012-03-12 06:41:02
不知道你是否得到了答案,但我想我应该提供我所做的,它似乎起作用了。
因此,一旦安装了rbenv,并使用它来安装特定的ruby版本,就可以为该ruby安装多个版本的rails。
步骤1.为每个ruby版本安装所需的任意版本的rails
% RBENV_VERSION=1.9.2-p290 rbenv exec gem install rails --version 3.0.11通过在命令行中使用" rbenv _VERSION=1.9.2-p290“前缀,您可以指定应该关注哪个ruby rbenv。
然后使用"rbenv exec“命令安装rails。只需使用示例中的版本标志来指定您想要的版本。不确定您是否可以一次安装多个版本,但我只是根据需要多次运行此命令来安装我想要的每个版本。
注意:这些都将在您的rbenv目录中进行管理,因此它是完全安全和包含的。
步骤2.通过指定所需的rails版本来构建新的rails项目。
% RBENV_VERSION=1.9.2-p290 rbenv exec rails _3.0.11_ new my_project步骤3.不要忘记进入该项目并设置本地rbenv ruby版本。
% cd my_project
% rbenv local 1.9.2-p290现在,如果您想删除此项目,只需正常删除它。
如果想要从rbenv gem中删除/管理rails版本,可以使用常规的gem命令,只需在命令行前加上:
% RBENV_VERSION=1.9.2-p290 rbenv exec gem {some command}当然,你也可以删除一个完整的ruby版本和它所有的垫片,等等,这些都可以很容易地在rbenv中管理。我喜欢一切都是自成一体的。
希望这能有所帮助。
作为参考,这至少是其中一些内容的相当好的演练:
http://ascarter.net/2011/09/25/modern-ruby-development.html
发布于 2014-05-03 00:05:37
有一个名为rbenv-gemset的rbenv插件,它的行为应该与rvm gemset-command类似,但由于rbenv从未打算以这种方式工作,所以我没有尝试过它。
我通常使用Bundler来管理Rails版本,就像Nathan在其他答案的评论中建议的那样。我用我想要的Rails版本创建了一个Gemfile,运行bundle install,创建Rails应用程序,让它替换Gemfile,让Bundler接管:
mkdir my-rails-app
cd my-rails-app
echo "source 'https://rubygems.org'" > Gemfile
echo "gem 'rails', '3.2.17'" >> Gemfile
bundle install
bundle exec rails new . --force --skip-bundle
bundle update如果你想知道更多细节,我在an article on my blog上写过。
希望它能帮上忙!
https://stackoverflow.com/questions/8877772
复制相似问题