我的电脑上安装了两个版本的rails(2.1.0和2.2.2)。
当我创建一个新的应用程序时,是否可以指定我想使用旧版本(2.1.0)?
我的电脑上安装了两个版本的rails(2.1.0和2.2.2)。
当我创建一个新的应用程序时,是否可以指定我想使用旧版本(2.1.0)?
当前回答
有两种方法可以做到这一点:
被接受的答案:
gem install rails -v 2.1.0 #only when the gem has not been installed in the desired ruby version you are using, so that you don't get error on next step
rails _2.1.0_ new my_app
另一种方法是在初始化rails项目之前创建所需rails版本的gemfile
mkdir my_app
cd my_app
echo "source 'https://rubygems.org'" > Gemfile
echo "gem 'rails', '2.1.0'" >> Gemfile
bundle install
bundle exec rails new . --force --skip-bundle
我在我的文章中详细地写过这一点
其他回答
您还应该看看如何将Rails gem“冻结”到应用程序中。这对部署有很大帮助,特别是在共享托管环境中。
只需在config/environment中更改RAILS_GEM_VERSION变量。Rb,并发出冻结耙任务:
rake rails:freeze:gems
下面是我通常使用的命令:
rails _version_ new application_name
例如rails _7.0.4_ new my_app . exe
下面是目前所有可用的rails版本的列表:
http://rubygems.org/gems/rails/versions
我在这里找到了一个未记录的选项,用于使用较旧版本的Rails创建新应用程序。
rails _2.1.0_ new myapp
你可以用任意一个版本生成框架,并在config/environment.rb中要求你想要的版本:
# Specifies gem version of Rails to use when vendor/rails is not present
RAILS_GEM_VERSION = '2.1.2' unless defined? RAILS_GEM_VERSION
或者使用“rails”命令生成你想要的版本。
有两种方法可以做到这一点:
被接受的答案:
gem install rails -v 2.1.0 #only when the gem has not been installed in the desired ruby version you are using, so that you don't get error on next step
rails _2.1.0_ new my_app
另一种方法是在初始化rails项目之前创建所需rails版本的gemfile
mkdir my_app
cd my_app
echo "source 'https://rubygems.org'" > Gemfile
echo "gem 'rails', '2.1.0'" >> Gemfile
bundle install
bundle exec rails new . --force --skip-bundle
我在我的文章中详细地写过这一点