如何在安装Rails 3时使用Rails 2.3应用程序生成器?
澄清:只有一个rails
命令,它是从最新的Rails gem安装的,它是Rails 3 ATM。 但是,我需要创建一个Rails 2.3应用程序。
使用NoMethodError运行ruby /usr/local/lib/ruby/gems/1.8/gems/rails-2.3.8/bin/rails
失败,我想因为它也尝试使用3.0.0版本中的gem。
卸载gem会产生一些奇怪的结果:
$ gem uninstall rails-3.0.0 ERROR: While executing gem ... (Gem::InstallError) cannot uninstall, check `gem list -d rails-3.0.0` $ gem list -d rails-3.0.0 *** LOCAL GEMS *** (and no gems here)
我该怎么办?
最简单的方法是:
- 为项目创建目录
-
在那里创建一个
Gemfile
gem "rails", "2.3.9" gem "sqlite3-ruby", :require => "sqlite3"
-
运行
bundle install
- 运行
bundle exec rails .
在当前路径中创建应用程序
你甚至不需要rvm来做这件事。
(我假设是2.3.11,因为它是最新的)
rails _2.3.11_ new app
将为您完成此操作,而您无需进行任何操作。
(因为我没有足够的Stack Overflow信誉并且无法直接回复答案,所以必须发表评论。)
对于现在运行rails 3的人来说,现在需要“new”命令来创建新的rails应用程序。 因此,“new”将需要附加到命令的末尾。
因此,对于Leonid Shevtsov的回答,第4步: bundle exec rails new .
罗伯特·斯派克的回答是: rails new .
安装rvm然后创建一个新的gemset ,以便Rails 2被隔离。
或者,转到您希望Rails 2应用程序所在的目录,创建一个类似Rails 3应用程序的Gemfile,但指定gem "rails", "~> 2.3"
并运行bundle install
,您现在应该可以发布rails .
- Ruby更新后,Rails 3.1rc4资产管道破裂? 如何重新激活/配置它?
- 如何validationrails 4中的嵌套属性字段?
- 如何在Rails项目中运行日常任务/脚本?
- 如何在Rails 3.2.1中使用特定于控制器的样式表?
- 使用.select时,Rails会忽略第二个表中的列
- 使用Ruby / Rails以编程方式将表单数据发布到另一个站点
- 巫术gem:@ user.activate! 在登台服务器中引发“ActiveRecord :: RecordNotSaved”exception但在本地计算机中没有exception
- 18n_routing并重定向到正确的URL
- Rails:gem install与gemfile和bundle install