如何升级Rails?

时间:2013-12-20 12:02:04

标签: ruby-on-rails ruby

我是Ruby Rails的新手,以及所有这些命令行melarky。所以请耐心等待。

我已经按照各种教程安装了RubyGems,Homebrew,RVM,Rails等。

我想我现在已经完成了这一切,但是当我输入时:

rails --version

我明白了,3.2.12。我注意到Rails 4已经出局了。如何升级到此版本?

如果我这样做:

gem install rails

即使这样做:

gem update rails

我仍然得到3.2.12。

有什么想法吗?

更新

在这里尝试一些选项时,我会收到此消息...

Michaels-MacBook-Pro:~ ParanoidAndroid$ gem install rails --version=4.0
Building native extensions.  This could take a while...
ERROR:  Error installing rails:
    ERROR: Failed to build gem native extension.

    /usr/local/rvm/rubies/ruby-1.9.3-p392/bin/ruby extconf.rb
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/usr/local/rvm/rubies/ruby-1.9.3-p392/bin/ruby
    --with-atomic_reference-dir
    --without-atomic_reference-dir
    --with-atomic_reference-include
    --without-atomic_reference-include=${atomic_reference-dir}/include
    --with-atomic_reference-lib
    --without-atomic_reference-lib=${atomic_reference-dir}/lib
/usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
    from /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/mkmf.rb:461:in `try_link0'
    from /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/mkmf.rb:712:in `try_run'
    from extconf.rb:26:in `<main>'


Gem files will remain installed in /usr/local/rvm/gems/ruby-1.9.3-p392/gems/atomic-1.1.14 for inspection.
Results logged to /usr/local/rvm/gems/ruby-1.9.3-p392/gems/atomic-1.1.14/ext/gem_make.out

似乎发生了错误。还有什么想法吗?

再次感谢大家!

6 个答案:

答案 0 :(得分:10)

如果您正在使用RVM,那么您应首先创建一个单独的gemset,如:

rvm gemset create whateverName

在本例中我将安装rails 4

rvm install 2.0.0

rvm list  

rvm 2.0.0 

^^^^(您可能需要复制并粘贴版本号,因为它在rvm列表中显示)

rvm gemset create rails4

rvm gemset use rails4

将以下内容添加到现有应用的gemfile中

gem 'rails', '4.0.0'

然后运行

bundle update rails

或者按照以下方式安装gem

gem install rails --version=4.0

更新

如果您没有安装Xcode 4.5 CLI工具,则需要

偏好设置&gt;下载&gt;部件

DMG

https://developer.apple.com/downloads

您可能还需要使用自制软件来更新gcc

brew install apple-gcc42

以下链接包含您需要的所有信息:

http://robots.thoughtbot.com/the-hitchhikers-guide-to-riding-a-mountain-lion

答案 1 :(得分:10)

如果您已经有一个Rails项目,您应该:

  • 在Gemfile中指定所需的版本(例如gem 'rails', '~> 5.2.0.rc1'
  • 运行bundle install(可能需要bundle update
  • 运行rails app:updaterake rails:update获取4.2及更早版本)
  • 按照屏幕上的说明进行操作
  • 根据您的版本
  • ,按照the official guide了解其他步骤

答案 2 :(得分:5)

gem update rails不会为您做任何事情,因为bundler会确保只加载和使用Gemfile中指定的宝石。

因此,为了升级到Rails 4,您需要更改Gemfile中的Rails版本号并运行bundle update rails

此Railscast指导您完成将现有应用程序从Rails 3.2手动更新到Rails 4的所有步骤:

http://railscasts.com/episodes/415-upgrading-to-rails-4

答案 3 :(得分:3)

您可以使用特定版本安装或将gem版本放在Gemfile中。

gem install rails -v 4.0.0

答案 4 :(得分:1)

您可以使用

获取所有宝石版本的列表
gem list rails --remote --all

例如,要安装指定版本4.0.1,您可以使用

gem install rails -v 4.0.1

或者您可以在Gemfile中指定版本

答案 5 :(得分:0)

最佳使用gem列表--remote --all。除非您为该项目确定了宝石集,否则您一直在寻找该特定版本