[英]Change the version of rails used
我在Fedora14下獲得了RoR應用程序的工作樂趣,我升級到Fedora16,現在真是一團糟。
這是由於使用的滑軌發生了變化,Fedora 14在2.x上運行,而Fedora 15/16在3.x上運行。
我已經安裝了rvm,以前我沒有安裝rails gem,所以它會退回到系統(?)。 因此,我已經安裝了Rails 2.3.8的gem,當我執行gem列表時會顯示它,但是該應用程序仍然很混亂。
有人在這里有什么線索,我應該檢查,解決,粉碎嗎?
所以我將其添加到了config / enviroment.rb
config.gem "rails", :version => "~> 2.3.8"
當我開始時,我現在得到這個錯誤(全部都在一行上)。
Error message:
NOTE: Gem.source_index is deprecated, use Specification.
It will be removed on or after 2011-11-01. Gem.source_index called from /var/work_sites/mysite/vendor/rails/railties/lib/rails/gem_dependency.rb:106.
NOTE: Gem::SourceIndex#search is deprecated with no replacement.
It will be removed on or after 2011-11-01. Gem::SourceIndex#search called from /var/work_sites/mysite/vendor/rails/railties/lib/rails/gem_dependency.rb:106.
Missing these required gems: rails ~> 2.3.8 You're running: ruby 1.8.7.357 at /usr/bin/ruby rubygems 1.8.11 at /usr/lib/ruby/gems/1.8, /home/nick/.gem/ruby/1.8 Run `rake gems:install` to install the missing gems.
但是$寶石清單
*** 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/
如果應用程序的大小“合理”(里程可能會有所不同),請利用此機會升級到Rails3。Rails4將於今年春天發布,您會發現現在沒有比現在更好的時間了。 我最初會做v3.0.11,如果一切順利,請轉到3.1.x。 面對現實,您不想很快再次這樣做。 在這一點上,您還將發現通常遇到的任何問題都可以由其他人解決,並且可以通過SO等在網上找到。
這些將有助於:
http://railscasts.com/episodes/225-upgrading-to-rails-3-part-1
http://ryanbigg.com/2010/11/the-rails-3-upgrade/
http://www.railsupgradehandbook.com/($ 12)
Ruby和Rails的變化非常快,保持最新狀態確實很重要,而不僅僅是“必備”。 在這一點上,寶石更符合軌道3
在使用時,應該安裝ruby 1.9.3。除非代碼中包含復雜的ruby,否則很有可能會出現一些問題。 畢竟,Ruby 2.0將很快問世。
正如其他人建議的那樣,rvm是管理ruby版本的關鍵。 安裝完成后,您可以rvm use 1.9.2
這樣的簡單命令來切換ruby版本,並且可以在項目的根目錄中創建.rvrmc文件來為該項目設置ruby版本。
除了安裝gem以外,您還需要做的其他事情都會放入環境文件-rails 2或Gemfile and Bundle-rails 3中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.