如何升级 Rails?

问题描述 投票:0回答:7

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

我按照各种教程安装了 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

似乎发生了错误。还有其他想法吗?

再次感谢大家!

ruby-on-rails ruby
7个回答
29
投票

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

  • 在 Gemfile 中指定所需的版本(例如
    gem 'rails', '~> 5.2.0.rc1'
  • 运行
    bundle install
    (可能需要
    bundle update
  • 运行
    rails app:update
    (4.2 及更早版本为
    rake rails:update
  • 按照屏幕上的说明进行操作
  • 按照官方指南了解其他步骤,具体取决于您的版本

14
投票

如果您使用 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 工具,那么您需要安装

首选项 > 下载 > 组件

DMG

https://developer.apple.com/downloads

然后您可能还需要使用 homebrew 来更新 gcc

brew 安装 apple-gcc42

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

https://thoughtbot.com/blog/the-hitchhikers-guide-to-riding-a-mountain-lion


6
投票

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
投票

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

gem install rails -v 4.0.0

1
投票

您可以使用

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

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

gem install rails -v 4.0.1

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


0
投票

最好使用 gem list --remote --all。除非您正在寻找特定版本,只要该项目的 gemset 已经建立


0
投票

我只需要升级到最新版本,

gem update rails
在 Ubuntu 上就成功了

© www.soinside.com 2019 - 2024. All rights reserved.