注意:项目刚刚升级到rails2.1,问题持续发现中~~~~~~
如果直接用gem,没什么好说的,直接gem install
但是,我选择的安装方式是:freeze,理由如下:
1 我机器上有多个rails项目,我只想让其中的一个升级到rails2.1,不想影响其他的项目。
2 我的团队成员他们都没有装rails2.1,直接gem install是很慢很慢地。
所谓的freeze,就是讲rails某个版本拷贝到项目下的vendor目录。以保证外部的rails gems不会影响到本项目。
好,开始。
首先,rake rails:freeze:gems
控制台出错:
uninitialized constant Gem::GemRunner
哦,google一下,发现rubyforum上有讨论,但最后不了了之。
自己hack喽。
加上--trace参数
uninitialized constant Gem::GemRunner
D:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:2237:in `const_missing'
D:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.0/lib/tasks/framework.rake:26
D:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.0/lib/tasks/framework.rake:25:in `each'
D:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.0/lib/tasks/framework.rake:25
于是定位到framework.rake,在require 'rubygems'(line 6)后面 加入:
require 'rubygems/gem_runner'
搞定!
接着运行 rake rails:freeze:gems
又出现另外一个问题:
Freezing to the gems for Rails 2.1.0
Unpacked gem: 'D:/dev/one/vendor/rails/activesupport-2.1.0'
Unpacked gem: 'D:/dev/one/vendor/rails/activerecord-2.1.0'
Unpacked gem: 'D:/dev/one/vendor/rails/actionpack-2.1.0'
Unpacked gem: 'D:/dev/one/vendor/rails/actionmailer-2.1.0'
Unpacked gem: 'D:/dev/one/vendor/rails/activeresource-2.1.0'
Unpacked gem: 'D:/dev/one/vendor/rails/rails-2.1.0'
rake aborted!
Permission denied - rails-2.1.0 or railties
D:/ruby/lib/ruby/1.8/fileutils.rb:505:in `rename'
先不管,运行 script/server再说
说找不到railties这个目录。
晕倒
直接把 vendor/rails/rails-2.1.0修改为 railties
一切OK了。
总结下来:
1 在framework.rake添加 require 'rubygems/gem_runner'
2 将目录rails-2.1.0修改为 railties
分享到:
- 2008-08-06 18:18
- 浏览 1306
- 评论(8)
- 论坛回复 / 浏览 (8 / 3511)
- 查看更多
相关推荐
仅仅六个月之后,即2008年6月1日,Rails再次更新至2.1版本,进一步巩固了其在Web开发领域的领先地位。 根据David的介绍,Rails 2.1版本的主要新特性包括: - **时区支持**:Rails 2.1加强了对不同时间区域的支持,...
### RAILS2.1的中文版资料:新特性与改进详解 #### 概述 《RAILS2.1的中文版资料》是一份针对Ruby on Rails 2.1版本的详细介绍文档,由Carlos Brando和Marcos Tapajós共同编写,并由中国Rails社区成员翻译成中文...
- **基于UTC的迁移**:在Rails 2.1中,所有的数据库迁移默认使用协调世界时(UTC)进行时间戳标记,这有助于避免因时区不同导致的数据一致性问题。 #### ActionPack和ActionController改进 - **增强缓存机制**:...
### Ruby on Rails 2.1 新特性详解 #### 引言 自2004年David Heinemeier Hansson从其项目...这些更新不仅提升了开发效率,还增强了应用的功能性和稳定性,对于正在使用Rails进行开发的团队来说是非常值得升级的。
标题“rails2.1与Oracle连接所需gem”指的是在Rails 2.1版本的应用程序中,如何配置和使用Oracle数据库的宝石(gem)扩展。Rails是Ruby on Rails框架的简称,是一个流行的开源Web应用程序框架,而Oracle则是一种企业...
rails 2.1的api文档,chm格式,官方最新版
Rails 2.1是其历史版本中的一个重要里程碑,引入了许多新特性与改进,对于理解现代Web开发有着重要的参考价值。 1. **ActiveRecord**:Rails的核心组件之一,负责数据持久化。在Rails 2.1中,ActiveRecord增强了...
特别值得注意的是,在许多章节中,截图尚未更新以匹配Rails 2.1产生的结果。 Rails核心团队仍在持续改进Rails 2。不时地,新版本可能会引入与先前版本的Rails不兼容的问题。为了试验这些变化,Rails开发者通过Edge ...
特别需要注意的是,在许多章节中,屏幕截图尚未更新以匹配 Rails 2.1 的结果。 #### Rails 的持续发展 Rails 核心团队仍在对 Rails 2 进行开发。随着时间推移,新版本可能会引入与之前版本不兼容的应用程序。为了...
此压缩包中的"rubyonrails21-cn.pdf"可能是《Ruby on Rails 2.1中文版》这本书的电子版,这本书详细介绍了Rails 2.1版本的特性、使用方法以及开发流程。 Rails框架的核心概念包括: 1. **ActiveRecord**:这是...
标题 "自动化生成支持cucumber,Rspec的Rails(持续更新中)" 暗示了这个压缩包文件的内容可能涉及使用Cucumber和RSpec这两种自动化测试工具在Ruby on Rails框架下的集成和配置。Cucumber是一种行为驱动开发(BDD)的...
- 许多章节中的截图尚未更新以匹配Rails 2.1产生的结果。 - **版本控制**: - Rails核心团队持续对Rails 2进行维护和升级。新的发布可能会引入与之前版本不兼容的变化。 - 为了便于开发者实验这些变化,团队提供...
安装过程中,遵循提示进行,确保选择自定义安装并勾选Rails相关的插件,以便在Aptana中获得对Rails的全面支持。 安装完成后,打开Aptana Studio,创建一个新的Rails项目。在“File”菜单中选择“New”然后点击...
值得注意的是,尽管许多章节的内容已经更新,但其中的一些截图尚未同步更新到Rails 2.1所呈现的结果。 Rails核心团队仍在持续改进Rails 2。随着时间推移,新发布的版本可能会引入与先前版本不兼容的变更。为了探索...
2. **ActiveRecord模式**:Subsonic采用了类似于Rails中的ActiveRecord设计模式,每个数据库表对应一个.NET类,类中的方法可以直接操作数据库,如创建、读取、更新和删除(CRUD)记录。 3. **模板引擎**:Subsonic...
在Ruby on Rails中文指南中,你将全面学习到如何利用这个强大的框架来构建动态的、数据驱动的Web应用程序。 首先,让我们深入理解Rails的核心概念: 1. **路由(Routes)**:Rails的路由系统是应用程序的导航蓝图...
此外,书中还介绍了一些Rails中的高级概念,如Strong Parameters(强参数),它在Rails 4.0版本中引入,用于解决之前版本中的参数篡改问题,从而帮助开发者安全地处理外部提交的数据。 通过一系列的教学内容,包括...
1. **ActiveRecord**:这是Rails框架中的ORM(Object-Relational Mapping)组件,它负责处理数据库操作。通过ActiveRecord,开发者可以使用面向对象的方式来操作数据,而无需编写SQL语句。 2. **ActionController**...
8. **Rails更新与升级**:随着Rails版本的更新,新的特性和改进不断引入。理解如何从旧版本平滑升级到新版本,保持应用的兼容性和稳定性。 9. **Rails最佳实践**:了解并遵循Rails社区的最佳实践,如代码风格、设计...