我的电脑上安装了两个版本的rails(2.1.0和2.2.2)。
当我创建一个新的应用程序时,是否可以指定我想使用旧版本(2.1.0)?
我的电脑上安装了两个版本的rails(2.1.0和2.2.2)。
当我创建一个新的应用程序时,是否可以指定我想使用旧版本(2.1.0)?
当前回答
正如@mikej for Rails 5.0.0或更高版本所指出的那样,您应该遵循以下步骤:
为你的应用程序创建一个目录和一个Gemfile来指定你想要的Rails版本,并让捆绑商安装依赖的gems:
$ mkdir myapp
$ cd myapp
$ echo "source 'https://rubygems.org'" > Gemfile
$ echo "gem 'rails', '5.0.0.1'" >> Gemfile
$ bundle install
检查已安装的rails版本是否正确:$ bundle exec rails -v
现在创建你的应用程序,让Rails创建一个新的Gemfile(或者通过使用——force标志覆盖现有的Gemfile),而不是安装bundle(——skip-bundle)手动更新它:
$ bundle exec rails new . --force --skip-bundle
如果你检查Gemfile中的rails条目,它应该是这样的:
gem 'rails', '~> 5.0.0', '>= 5.0.0.1'
你应该把它更新到应用程序需要的确切版本:
gem 'rails', '5.0.0.1'
现在,最后一步:
$ bundle update
其他回答
下面是我通常使用的命令:
rails _version_ new application_name
例如rails _7.0.4_ new my_app . exe
下面是目前所有可用的rails版本的列表:
http://rubygems.org/gems/rails/versions
请注意您在Rails中使用的ruby版本。
为特定版本的Rail创建新项目的命令可能不适合您。我有一些问题。问题是ruby的默认版本是3.0.0。这个版本不支持Rails 5。然后我安装了ruby 2.7.5,并将其切换为默认版本。直到那时,我才能够为Rails 5和Rails 7开发项目。
如果你想要ruby 2.7.5同样的环境
rvm install ruby-2.7.5
切换到默认版本
rvm --default use 2.7.5
安装捆扎机和打包机
gem install bundler
gem install webpacker
安装最新的rails(即7)
gem install rails
测试它
rails new test_app_6
cd test_app_6
rails s
检查localhost 3000
http://localhost:3000
然后停止服务器(control + c)并安装Rails 5
gem install rails -v 5.2.6
测试它
rails _5.2.6_ new test_app_5
cd test_app_5
rails s
检查localhost 3000
http://localhost:3000
你设置!
我在这里找到了一个未记录的选项,用于使用较旧版本的Rails创建新应用程序。
rails _2.1.0_ new myapp
有两种方法可以做到这一点:
被接受的答案:
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
我在我的文章中详细地写过这一点
正如@mikej for Rails 5.0.0或更高版本所指出的那样,您应该遵循以下步骤:
为你的应用程序创建一个目录和一个Gemfile来指定你想要的Rails版本,并让捆绑商安装依赖的gems:
$ mkdir myapp
$ cd myapp
$ echo "source 'https://rubygems.org'" > Gemfile
$ echo "gem 'rails', '5.0.0.1'" >> Gemfile
$ bundle install
检查已安装的rails版本是否正确:$ bundle exec rails -v
现在创建你的应用程序,让Rails创建一个新的Gemfile(或者通过使用——force标志覆盖现有的Gemfile),而不是安装bundle(——skip-bundle)手动更新它:
$ bundle exec rails new . --force --skip-bundle
如果你检查Gemfile中的rails条目,它应该是这样的:
gem 'rails', '~> 5.0.0', '>= 5.0.0.1'
你应该把它更新到应用程序需要的确切版本:
gem 'rails', '5.0.0.1'
现在,最后一步:
$ bundle update