`
llyzq
  • 浏览: 588330 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Rails的痛苦升级路

阅读更多

最近在选择开源项目管理工具,最后看上了redmine

一开始用Bitnami,可是装好之后总是不能访问redmine

无奈之后选择InstantRails-2.0作为安装环境

可是按照网上的帖子装的过程中总是报错

后来才知道是因为我装的redmine 1.0.0要求的版本要比InstantRails-2.0高,而InstantRails-2.0从2007年开始就没更新过了。

昨晚我弄了2点半,中间几次想放弃,但拗不过自己的牛脾气,最后终于升级成功,并且成功访问了redmine。

过程是痛苦的,结果是甜蜜的。

虽然对ror并不是很了解,但想信我的安装经历对大家多少会有些帮忙。

 

具体过程如下:

1、InstantRails-2.0安装后,在配置环境变量path中配置ruby/bin目录(如果系统中有多个RUBY,执行命令行的时候系统认的就是path中的)

2、进入DOS命令行,执行gem update --system,结果

Updating RubyGems...
ERROR:  While executing gem ... (Gem::RemoteSourceException)
HTTP Response 302 fetching http://rubygems.org/yaml

     这是因为gem的配置过低,无法进行远程更新,执行gem -v 发现是1.0.1

3、从下面这个地址下载 rubygems-update-1.3.7.gem,http://rubyforge.org/frs/download.php/70695/rubygems-update-1.3.7.gem

    然后DOS命令进行该文件所在的目录,执行gem install --local rubygems-update-1.3.7.gem,出现信息

Successfully installed rubygems-update-1.3.7
1 gem installed
Installing ri documentation for rubygems-update-1.3.7...
Installing RDoc documentation for rubygems-update-1.3.7...
Could not find main page README
Could not find main page README
Could not find main page README
Could not find main page README

  执行gem -v查看,发现并没有更新成功,Could not find main page README是什么意思我没弄明白,但是我从http://production.s3.rubygems.org/yaml上发现这么一句

      If you have an older version of RubyGems installed, then you can still
      do it in two steps:
     
        $ gem install rubygems-update  # again, might need to be admin/root
        $ update_rubygems              # ... here too
 我照着再执行update_rubygems,接着出现的信息很多,就不帖出来,再执行gem -v,发现更新成功,已经是1.3.7了

 这一步是一切成功的源泉!!!!!!

4、接着再执行gem update --system,提示

 Updating RubyGems
Nothing to update

  这是为什么我不明白,请高手指点一下

5、再执行gem update rails --include-dependencies,提示信息

Updating installed gems
Updating rails
ERROR:  Error installing rails:
        actionpack requires rack (~> 1.0.0, runtime)
Gems updated: activesupport, activerecord
Installing ri documentation for activesupport-2.3.3...
Installing ri documentation for activerecord-2.3.3...
Installing RDoc documentation for activesupport-2.3.3...
Installing RDoc documentation for activerecord-2.3.3...

执行rails -v,发现还是2.0.2没有更新成功,根据actionpack requires rack (~> 1.0.0, runtime),应该是actionpack 需要1.0.0版本的rack

6、执行gem install rack -v=1.0.0

Successfully installed rack-1.0.0
1 gem installed
Installing ri documentation for rack-1.0.0...
Installing RDoc documentation for rack-1.0.0...

更新成功

 7、再次执行 gem update rails --include-dependencies

出现信息

Updating installed gems
Updating rails
Successfully installed rake-0.8.7
Successfully installed activesupport-2.3.8
Successfully installed activerecord-2.3.8
Successfully installed rack-1.1.0
Successfully installed actionpack-2.3.8
Successfully installed actionmailer-2.3.8
Successfully installed activeresource-2.3.8
Successfully installed rails-2.3.8
Gems updated: rake, activesupport, activerecord, rack, actionpack, actionmailer, activeresource, rails
Installing ri documentation for rake-0.8.7...
Installing ri documentation for activesupport-2.3.8...
Installing ri documentation for activerecord-2.3.8...
Installing ri documentation for rack-1.1.0...
Installing ri documentation for actionpack-2.3.8...
Installing ri documentation for actionmailer-2.3.8...
Installing ri documentation for activeresource-2.3.8...
Installing ri documentation for rails-2.3.8...
Installing RDoc documentation for rake-0.8.7...
Installing RDoc documentation for activesupport-2.3.8...
Installing RDoc documentation for activerecord-2.3.8...
Installing RDoc documentation for rack-1.1.0...
Installing RDoc documentation for actionpack-2.3.8...
Installing RDoc documentation for actionmailer-2.3.8...
Installing RDoc documentation for activeresource-2.3.8...
Installing RDoc documentation for rails-2.3.8...

执行rails -v,发现已更新成功

 

总结:rails更新有两种方式:1、联机更新;2本地更新

联机更新过程中如果出现HTTP Response 302 fetching http://rubygems.org/yaml无法更新,有两种情况

一是gem的版本过低,二是与服务器的连接不通

此时可以试着加入其他服务器地址

 gem source -l  查看列表

 gem source -a http://rubygems.org 加入新的服务器地址

 或者直接gem install rubygems-update --source http://rubygems.org

本地更新需要下载相应的gem包,版本需与要更新的rails版本对应,同时安装顺序有要求,因此gem包之间有依赖关系

顺序从上面的显示信息中可以看出来

Successfully installed rake-0.8.7
Successfully installed activesupport-2.3.8
Successfully installed activerecord-2.3.8
Successfully installed rack-1.1.0
Successfully installed actionpack-2.3.8
Successfully installed actionmailer-2.3.8
Successfully installed activeresource-2.3.8
Successfully installed rails-2.3.8

至于gem包的下载地址都在http://rubyforge.org/,但是有些项目的并不好找到,可以在google中直接搜索,就能找到在http://rubyforge.org/中的地址。

 

分享到:
评论
11 楼 weilingfeng98 2010-09-20  
安装确实让人头疼
10 楼 wwccss 2010-08-22  
如果楼主是在寻找项目管理工具的话,可以尝试另外一个项目管理软件,zentao,也是开源的,使用php+mysql开发,环境部署起来要方便多了。功能方面与redmine相比也毫不逊色。http://www.zentaoms.com
9 楼 zfree 2010-08-08  
rails升级就是找抽啊
8 楼 zhaopf 2010-08-06  
Ruby的升级确实让人很痛苦,关键是很多外围的扩展都没注明可用版本,虽然gem install xxx 能进行一些 帮助,但是还有很多gem出来的确实老版本,根本用不到现在的版本中去。
真的希望有人能够打好包放哪儿,让我们下载,但是那是不是违背的开源精神,“零散,无序,没有任何包装的DIY”
以我自己为例,安装gem install MySQL,用的是Ruby187,186,主要是mongrel无法在191下运行,所以只好选186,187,结果在Rails下可以用但你在irb中,require 'mysql‘始终是说mysql无法找到,这很折腾人,当然在191下面没有什么问题。
总之要想在短时间内从事开源化生产,存在很多问题,光安装环境都要搞半天。
7 楼 lyslim 2010-08-02  



现在还用instant rails就真是 非主流 了...

推荐lz

1。装ruby

2。装rails gem

3。用aptana radrails...


以前自己也折腾过一阵子,但是现在rails及周边的工具都相对成熟了,装起来应该不至于是痛苦的一件事吖..


6 楼 llyzq 2010-08-02  
真无名 写道
初始选择就错了
都什么年代了 还InstantRails2.0


当时并不清楚

我也是根据网上一帖子走的
5 楼 sevk 2010-08-02  
先安装 ruby1.9 , 再执行 gem update --system ; gem update ,
然后安装 rails 的命令是 gem install rails . 搞定.
4 楼 真无名 2010-08-02  
初始选择就错了
都什么年代了 还InstantRails2.0
3 楼 llyzq 2010-07-31  
update_rubygems
也是从网络更新么?
2 楼 sevk 2010-07-31  
gem update --system
效果 和 update_rubygems 一样。
1 楼 齐薄云天 2010-07-30  
关于rubygems版本的更新:
如果你连着网络,可以直接执行 gem update --system
但如果你本地的gem 版本过低,就没有这个自动更新的功能,需要你手动下载rubygems更新包,并本地更新。如你文中说的那样更新。

$ gem install rubygems-update  # again, might need to be admin/root
$ update_rubygems              # ... here too
执行完这些后就是通过本地安装完成了rubygems的升级,因此不需要再执行 gem update --system 了。

相关推荐

    Rails 101 入门电子书

    ### Rails 101 入门电子书知识点详解 #### 一、简介 《Rails 101 入门电子书》是一本非常适合初学者直接入门的书籍,它由xdite编写并出版于2014年6月10日。本书主要针对的是希望学习Ruby on Rails框架的读者,特别...

    Rails101_by_rails4.0

    《Rails101_by_rails4.0》是一本专注于Rails 4.0.0版本和Ruby 2.0.0版本的自学教程书籍,它定位于中文读者,旨在成为学习Rails框架的参考教材。Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它...

    Rails项目源代码

    Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...

    关于rails 3.1 cucumber-rails 1.2.0

    Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    - **升级**:当需要更新到Rails的最新版本时,可以使用`bundle update rails`命令来更新依赖。 - **回滚**:如果更新后出现问题,可以通过`git`命令或者手动修改`Gemfile`来回滚到之前的版本。 #### 六、添加第二个...

    Rails

    标题 "Rails" 指的是 Ruby on Rails,一个开源的Web应用程序框架,它基于Ruby编程语言,遵循MVC(模型-视图-控制器)架构模式。Rails由David Heinemeier Hansson在2004年创建,其设计理念是强调代码的简洁性、DRY...

    rails2-sample

    从给定的文件信息来看,我们正在探讨的是一本关于Ruby on Rails的书籍,书名为《Simply Rails2》,作者是Patrick Lenz。本书旨在为初学者提供深入理解Ruby on Rails框架的指南,从基础概念到高级主题均有涵盖,是...

    Advanced Rails

    8. **Rails更新与升级**:随着Rails版本的更新,新的特性和改进不断引入。理解如何从旧版本平滑升级到新版本,保持应用的兼容性和稳定性。 9. **Rails最佳实践**:了解并遵循Rails社区的最佳实践,如代码风格、设计...

    rails指南 中文版

    Rails指南中文版是针对Ruby on Rails框架的一份详尽教程,旨在帮助开发者深入理解并熟练掌握这个强大的Web应用开发工具。Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-...

    使用Aptana+Rails开发Rails Web应用(中文)

    在开发Web应用时,Ruby on Rails(简称Rails)框架因其高效、简洁的代码风格和强大的社区支持而备受青睐。Aptana是一款强大的集成开发环境(IDE),尤其适用于Rails项目的开发,它提供了丰富的特性来提升开发效率。...

    rails 2.3.2离线安装rails 2.3.2离线安装

    rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails ...

    Rails进行敏捷Web开发(所有版本的源码rails3.0-4.0)

    1. Rails 3.0: Rails 3是重大升级,引入了ActionController::Metal,这是一个轻量级的控制器,用于提高性能。同时,它引入了多路由引擎支持,如Rack中间件,使得与其他Web服务器的集成更加容易。此外,ActiveRecord...

    Rails recipes

    Rails Recipes是一本针对Ruby on Rails框架的实用书籍,它收集了一系列高效解决问题的技巧和方法,也被称为“Rails开发者的宝典”。作者们通过分享自己的经验和见解,为Rails程序员提供了一本既有实际操作指导又有...

    rails2.3.2

    标题 "rails2.3.2" 指的是 Ruby on Rails 框架的一个特定版本,即 2.3.2。Ruby on Rails(通常简称为 Rails)是一个基于 Ruby 语言的开源 Web 应用程序框架,它遵循 Model-View-Controller (MVC) 设计模式,用于构建...

    重构你的Rails程式码

    在进行Rails版本升级时,重构代码是一个绝佳的机会。本文将深入探讨为何这是个好时机来进行重构,并提供一系列实用的方法帮助您优化代码。 #### 为什么这是一个好时机重构代码? 1. **信任度提升:** 如果您有足够...

    rails本地安装包完整版

    Rails是Ruby编程语言的一个著名框架,用于开发Web应用程序。它以MVC(模型-视图-控制器)架构模式为基础,提供了许多内置功能,使开发者能够更高效地编写代码。在这个"rails本地安装包完整版"中,包含了Rails 2.1.0...

    Rails相关电子书汇总

    标题 "Rails相关电子书汇总" 暗示了这个压缩包包含了关于Ruby on Rails框架的电子书籍资源。Ruby on Rails,通常简称为Rails,是一个基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,以...

    component base rails applications

    本书《Component-Based Rails Applications》主要介绍了如何使用Rails引擎(Rails Engine)进行基于组件的Rails应用开发,以及如何对应用程序的大型模块进行拆分和模块化。以下是书中一些核心知识点的详细说明: 1....

    [Rails] Crafting Rails Applications (英文版)

    [Pragmatic Bookshelf] Crafting Rails Applications Expert Practices for Everyday Rails Development (E-Book) ☆ 图书概要:☆ Rails 3 is a huge step forward. You can now easily extend the framework, ...

    Ruby on Rails Tutorial

    《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...

Global site tag (gtag.js) - Google Analytics