Ruby on rails 更改所用rails的版本
我在Fedora14下有一个RoR应用程序工作得很开心,我升级到Fedora16,现在它一片混乱 这是由于使用的rails发生了变化,Fedora14在2.x上运行,现在Fedora15/16在3.x上运行 我安装了rvm,以前我没有安装rails gem,所以它会退回到系统(?)。因此,我安装了适用于rails 2.3.8的gem,当我创建gem列表时,它会显示出来,但是该应用程序仍然是一片混乱 任何人有任何线索,我应该检查什么,做什么,粉碎什么 所以我把这个添加到我的config/environment.rb中Ruby on rails 更改所用rails的版本,ruby-on-rails,ruby-on-rails-3,rvm,fedora,Ruby On Rails,Ruby On Rails 3,Rvm,Fedora,我在Fedora14下有一个RoR应用程序工作得很开心,我升级到Fedora16,现在它一片混乱 这是由于使用的rails发生了变化,Fedora14在2.x上运行,现在Fedora15/16在3.x上运行 我安装了rvm,以前我没有安装rails gem,所以它会退回到系统(?)。因此,我安装了适用于rails 2.3.8的gem,当我创建gem列表时,它会显示出来,但是该应用程序仍然是一片混乱 任何人有任何线索,我应该检查什么,做什么,粉碎什么 所以我把这个添加到我的config/envir
config.gem "rails", :version => "~> 2.3.8"
当我开始时,我现在得到了这个错误(这是在一行上)
然而
$gem列表
*** LOCAL GEMS ***
...
rails (2.3.8)
....
所以我还是试试看
$ rake gems:install
rake/rdoctask is deprecated. Use rdoc/task instead (in RDoc 2.4.2+)
Missing these required gems:
rails ~> 2.3.8
You're running:
ruby 1.8.7.352 at /home/nick/.rvm/rubies/ruby-1.8.7-p352/bin/ruby
rubygems 1.8.10 at /home/nick/.rvm/gems/ruby-1.8.7-p352, /home/nick/.rvm/gems/ruby-1.8.7-p352@global
Run `rake gems:install` to install the missing gems.
啊
$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.10
- RUBY VERSION: 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
- INSTALLATION DIRECTORY: /home/nick/.rvm/gems/ruby-1.8.7-p352
- RUBY EXECUTABLE: /home/nick/.rvm/rubies/ruby-1.8.7-p352/bin/ruby
- EXECUTABLE DIRECTORY: /home/nick/.rvm/gems/ruby-1.8.7-p352/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /home/nick/.rvm/gems/ruby-1.8.7-p352
- /home/nick/.rvm/gems/ruby-1.8.7-p352@global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
如果应用程序“大小合理”(里程可能有所不同),请利用此机会升级到rails 3。Rails 4将在今年春天推出,您将发现没有比现在更好的时间进行升级。我最初会使用v3.0.11,如果运行良好,我会使用3.1.x。
面对现实吧,你不想很快再这样做了。在这一点上,你也会发现,无论你遇到什么问题,通常都会被其他人遇到和解决,并且可以在网上通过SO等找到
这些措施将有助于:
(12美元)
Ruby和Rails的变化非常迅速,保持某种程度上的最新性非常重要,而不仅仅是一个“好东西”。在这一点上,gems更符合rails3
当您正在安装ruby 1.9.3时,您很可能会遇到一些问题,除非代码有复杂的ruby。Ruby 2.0终究会很快面世
正如其他人建议的那样,rvm是管理ruby版本的关键。一旦安装了ruby,您就可以使用命令切换ruby版本,如rvm use 1.9.2
,您可以在项目根目录中创建一个.rvrmc文件来设置该项目的ruby版本
一旦除了安装gem之外,您还需要做的其他事情被放入您的环境文件-rails 2或Gemfile和Bundle-rails 3汇总列表rubies shows 2.3.8您是否告诉rvm在您的项目中使用该版本?如果您能更具体地说明所看到的错误,这也会有所帮助。rails是否预装在Fedura中?关于这个混乱,您需要卸载系统ruby,并且需要在用户范围而不是系统范围内安装rvm。首先安装ruby18,然后安装软件包,然后安装ruby19。你应该在这之后把这些乱七八糟的东西处理掉。你可以发布你看到的错误吗?红宝石列表是2.3.8,但我没有指定它使用2.3.8,因为我假设它会使用宝石。。。。关于如何指定的线索?@ducktyped,关于如何在系统范围内创建的线索?将gem语句放在config/中的environment.rb文件中,不幸的是,这不是一个选项。谢谢,没问题。再过几个月,你就会开始做这件事了,也许回头看看这篇文章:)
$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.10
- RUBY VERSION: 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
- INSTALLATION DIRECTORY: /home/nick/.rvm/gems/ruby-1.8.7-p352
- RUBY EXECUTABLE: /home/nick/.rvm/rubies/ruby-1.8.7-p352/bin/ruby
- EXECUTABLE DIRECTORY: /home/nick/.rvm/gems/ruby-1.8.7-p352/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /home/nick/.rvm/gems/ruby-1.8.7-p352
- /home/nick/.rvm/gems/ruby-1.8.7-p352@global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/