- 浏览: 165379 次
- 性别:
- 来自: 广州
最新评论
-
dongxuef:
正奇怪呢,原来你也没深究.源码中_params被default ...
在Rails的controller中访问params的一个小细节 -
sunsonavaj:
Rails 3 下自定义错误信息显示页面 -
Hooopo:
Thx!
ubuntu下让netbeans的字体变得好看些 -
ybffnst:
paperclip 对错误消息的处理是对字符串进行处理的,不支 ...
如何自定义处理ActiveRecord中的errors信息 -
wozhidao:
这个方法有个很大的bug,远程图片的时候是取不到扩展名的,上传 ...
paperclip定制文件名
安装ruby
- 首先不再使用ubuntu的apt-get安装ruby,自己编译安装,这样虽然不能使用ubuntu系统apt-get的升级功能对ruby进行升级,但胜在自由度最高,想怎么折腾就怎么折腾.
- 到 http://www.ruby-lang.org/zh_CN/downloads/ 下载ruby 1.9.1的源代码.
-
#解压文件 tar vfxz ruby-1.9.1-p0.tar.gz #进入解压后的文件夹 cd ruby-1.9.1-p0/ #编译源码,在编译之前,应该先对/usr/local/ruby-1.9.1文件夹设置权限. ./configure --prefix=/usr/local/ruby-1.9.1 #大名鼎鼎的 make 和 install make && make install #设置PATH路径,把自己安装的ruby放在系统PATH前面,避免调用操作系统自带的ruby export PATH=/usr/local/ruby-1.9.1/bin:$PATH #我在 ~/.profile 文件中增加了这样的代码: if [ -d "/usr/local/ruby-1.9.1/bin" ] ; then PATH="/usr/local/ruby-1.9.1/bin:$PATH" fi 然后 注销 再登陆一次. #如无意外 ruby -v #ruby 1.9.1p0 (2009-01-30 revision 21907) [i686-linux] #ruby 1.9.1安装成功了.
- 自 己编译安装的好处就是,当下次ruby 1.9.2升级的时候,如果你不想升级,你完成可以无视.如果你想尝鲜,你可以下载ruby 1.9.2,然后重复一下上面的功能,不同的只是把它安装到ruby-1.9.2文件.再把ruby-1.9.2/bin路径设置到PATH前面,完全是 无痛升级,并且可以自由切换;如果你想删除这个版本,只要 rm -Rf ruby-1.9.1,绝不会留下任何疤痕,非常干净,爽就一个字.
- 升级到ruby 1.9.1后,不用再另外单独安装 rubygems 了,在ruby 1.9.1下,rubygems已经是默认的ruby包管理程序,查看一下ruby-1.9.1/bin,你会发现gem已经静静地在那里了.
-
#执行 gem -v #1.3.1,gem的版本 #再执行 gem list #你会发现什么都没有,当然啦,这个新的ruby,你还没有安装任何gem包呢.
安装Rails
- gem install rails -y #从远程安装Rails和所有的依赖.正宗的一键安装,方便快捷.将会安装如下的gem:
Successfully installed activesupport-2.3.2
Successfully installed activerecord-2.3.2
Successfully installed actionpack-2.3.2
Successfully installed actionmailer-2.3.2
Successfully installed activeresource-2.3.2
Successfully installed rails-2.3.2
6 gems installed
Installing ri documentation for activesupport-2.3.2...
Installing ri documentation for activerecord-2.3.2...
Installing ri documentation for actionpack-2.3.2...
Installing ri documentation for actionmailer-2.3.2...
Installing ri documentation for activeresource-2.3.2...
Successfully installed activerecord-2.3.2
Successfully installed actionpack-2.3.2
Successfully installed actionmailer-2.3.2
Successfully installed activeresource-2.3.2
Successfully installed rails-2.3.2
6 gems installed
Installing ri documentation for activesupport-2.3.2...
Installing ri documentation for activerecord-2.3.2...
Installing ri documentation for actionpack-2.3.2...
Installing ri documentation for actionmailer-2.3.2...
Installing ri documentation for activeresource-2.3.2...
- 再次执行 gem list,可以看到如下信息:
*** LOCAL GEMS ***
actionmailer (2.3.2)
actionpack (2.3.2)
activerecord (2.3.2)
activeresource (2.3.2)
activesupport (2.3.2)
rails (2.3.2)
rake (0.8.4)
actionmailer (2.3.2)
actionpack (2.3.2)
activerecord (2.3.2)
activeresource (2.3.2)
activesupport (2.3.2)
rails (2.3.2)
rake (0.8.4)
- Rails 2.3.2升级成功了.
下面看看怎么把已有项目升级到当前的Rails版本(2.3.2)
- 我是使用Nebeans 6.5进行开发的,顺便把Netbeans 升级到6.5.1版本.
- 在Netbeans选中你的项目,右键,选择 Properties ,把 Ruby Platform改为 Ruby 1.9.1 p0就可以了.(如果没有,请增加).
- 直接使用 rake rails:update 任务进行升级,结果却令我失望了,加上 --trace 选项可以看到,在新版本下boot.rb文件会报错,错误信息如下:
config/boot.rb:86:in `load_rubygems' config/boot.rb:52:in `load_initializer' config/boot.rb:38:in `run' config/boot.rb:11:in `boot!' config/boot.rb:109:in `<top (required)>' Rakefile:4:in `require' Rakefile:4:in `<top (required)>'
- 我也不想去查错误,于是新建了一个Rails项目(建一个空目录,进行目录下,然后 rails .),把新项目的 boot.rb 文件拷贝过来,然后执行 rake rails:update 成功了!
- 有一个特别的地方,我在一个rb文件的一个正则表达式中使用了全角的逗号,居然不能启动服务器,报如下错误: invalid multibyte char (US-ASCII) (SyntaxError).先把这个去掉,保证能启动再说.
- 还 是不能启动,提示:no such file to load -- openssl (RuntimeError) . 其实这个提示误人不少,一般都以为没有安装openssl的ruby gem,如果安装的是系统自带版的ruby的话,要执行的是: sudo apt-get install libopenssl-ruby1.9
- 由于我是自己编译的ruby版本,所以要这样做:
1. sudo apt-get install openssl libssl-dev 2. cd ruby_source_dir(就是编译ruby的目录)/ext/openssl 3. ruby extconfig.rb 4. make && make install
- 还是不能升级到ruby 1.9.1,因为我使用中的一个重要的gem:ferret 现在不支持ruby 1.9.1.所以只好继续使用 ruby 1.8.7,但是rails升级到2.3.2.
在ubuntu 下升级 rails.
- 由于rails 2.3.2要求rubygem的版本是1.3.1,在我的系统中的gem的版本是1.2.0,必须得升级.由于是使用ubuntu 源安装的gem,因此不能使用 gem update --system
- 到 http://rubyforge.org 下载rubygems 1.3.1版本.
- 解压下,进行解压目录,执行一下 sudo ruby setup.rb , 再执行一下 gem -v,发现已经升级到了1.3.1版本.
- gem update rails 升级就完成了.
- gem升级后,gem list为空,要重新安装需要的gem包.
项目升级的一个问题:
- 自己对ActiveRecord的一个open class增强(opar.rb文件中)
- 未 升级前放在 config/envirment.rb 文件的 Rails::Initializer.run do |config| require File.join(File.dirname(__FILE__),'..', 'lib','extend','opar') #加载我的增强代码 end 块当中,升级后启动出错:
/usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:416:in `initialize_database': undefined method `configurations=' for ActiveRecord::Base:Class (NoMethodError) from /usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:141:in `process' from /usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:113:in `send' from /usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:113:in `run' from /home/yanghuan/dev/my_project/config/environment.rb:13 from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' from /home/yanghuan/.gem/ruby/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in `require' from /home/yanghuan/.gem/ruby/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:521:in `new_constants_in' from /home/yanghuan/.gem/ruby/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in `require' from /usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/commands/server.rb:84 from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' from script/server:3
- 修改后:在 config/envirment.rb 文件的 Rails::Initializer.run do |config| end require File.join(File.dirname(__FILE__),'..', 'lib','extend','opar') #加载我的增强代码.
- 出现这个错误的原因是:在opar.rb中修改了ActiveRecord::Base类的定义,而在Rails::Initializer.run do |config| ... end执行完成之前,Rails还没有加载ActiveRecord,故而出错.
- 代码放在block外面了.这下还启动了.
- 至此升级顺利完成.
评论
11 楼
lemonweirui
2010-03-18
为啥子我的fedora在编译ruby1.9.1p378时,一直报错(关于ssl的)
10 楼
vb2005xu
2009-10-08
http://vb2005xu.iteye.com/blog/482832
9 楼
jerry
2009-09-08
下一站,火星 写道
jerry 写道
说了半天,这是升级没成功呀。
呵呵,早就升级到2.3.2了。
2.3.3下面的postgre-pr驱动有bug,不建议使用
我是说你的Ruby 1.9.1升级不成功
昨天我在windows下升级ruby1.9.1, Rails 2.3.4发现问题一堆,解决了中文问题后,当打开网页时,直接报ruby的解释器崩溃了。
8 楼
下一站,火星
2009-09-08
火星叔叔马丁 写道
下一站,火星 写道
jerry 写道
说了半天,这是升级没成功呀。
呵呵,早就升级到2.3.2了。
2.3.3下面的postgre-pr驱动有bug,不建议使用
你们项目里也开始用postgrel了?
是的,postgre很好用
http://awesomeful.net/posts/45-postgresql-rails-and-why-you-should-care
7 楼
下一站,火星
2009-09-07
jerry 写道
说了半天,这是升级没成功呀。
呵呵,早就升级到2.3.2了。
2.3.3下面的postgre-pr驱动有bug,不建议使用
6 楼
jerry
2009-09-07
说了半天,这是升级没成功呀。
5 楼
phoenix520
2009-03-25
现在困扰我的就是MySQL和Ferret这两个Gem,貌似这两个gem都已经年久失修,不知道是不是已经不会再发布支持1.9.1的版本了。
4 楼
花花公子
2009-03-22
QuakeWang 写道
-KU之前试过,rails带的tmail下utils.rb还是会报一个invalid multibyte char,因为这个文件里面有\x00-\x1f\x7f-\xff这样格式的正则表达式,还没有仔细看其他文件会不会有类似问题。
Rails 2.3.1就有这个问题,以为2.3.2把这个问题解决了才号称ruby1.9兼容的呢。
Quake你不怕麻烦 gem install tmail 更新到tmail 1.2.3.1看看有没有解决这个问题。
3 楼
QuakeWang
2009-03-22
-KU之前试过,rails带的tmail下utils.rb还是会报一个invalid multibyte char,因为这个文件里面有\x00-\x1f\x7f-\xff这样格式的正则表达式,还没有仔细看其他文件会不会有类似问题。
2 楼
花花公子
2009-03-22
QuakeWang 写道
invalid multibyte char 可以通过在文件头添加magic enconding comment解决,
不过如果文件很多的话,都这样处理会非常郁闷,而且感觉也太傻了。
ruby 1.9对于multibyte的编码支持非常诡异,还没有找到一个合适的方法。
不过如果文件很多的话,都这样处理会非常郁闷,而且感觉也太傻了。
ruby 1.9对于multibyte的编码支持非常诡异,还没有找到一个合适的方法。
ruby1.9 是 ruby -KU ***.rb 强制用unicode编码ruby文件
所以可以试试 ruby -KU script/server 启动服务器,相应的环境变量 RUBYOPT="-w -KU"。
1 楼
QuakeWang
2009-03-22
invalid multibyte char 可以通过在文件头添加magic enconding comment解决,
不过如果文件很多的话,都这样处理会非常郁闷,而且感觉也太傻了。
ruby 1.9对于multibyte的编码支持非常诡异,还没有找到一个合适的方法。
不过如果文件很多的话,都这样处理会非常郁闷,而且感觉也太傻了。
ruby 1.9对于multibyte的编码支持非常诡异,还没有找到一个合适的方法。
发表评论
-
Rails 2.3.12下遇到的named route的诡异问题
2011-08-14 21:18 1614周五的时候把网站升级到Rails 2.3.12,本来在本地测试 ... -
ActionMailer的一些配置
2011-08-14 20:59 1612一般情况下,如果你使用gmail的话,都是这样配置的: A ... -
如何自定义处理ActiveRecord中的errors信息
2011-07-26 23:33 2814今天写代码的时候,客服MM向我反馈了一个问题,这个问题本身是很 ... -
Rails 3 下自定义错误信息显示页面
2010-07-08 15:21 3710大家都知道想在Rails下自定义错误显示的页面是修改 resc ... -
paperclip定制文件名
2010-07-02 14:25 3304在新项目中使用了paperclip这个文件上传插件,一切都很满 ... -
Sinatra:一个可以作为Rails有益补充的框架. 简洁而不简单
2010-04-04 15:08 7125一个基于Sinatra的小程序 前些天有一个需求,需要写一个 ... -
require特定版本的gem
2010-03-31 21:07 2537今天有一个需求要单独地使用ActiveRecord,但是我的机 ... -
从Rails 2.3.5 升级到 Rails 3.0 beta
2010-03-27 22:12 2107因为有一个新的项目打算使用Rails 3.0 beta,所以先 ... -
命名时请留意Rails下的关键字
2010-01-22 17:36 2011前些天我在做一个支付集成的接口,对方返回的结果串里面有一个 e ... -
rails下自定义出错页面
2010-01-22 17:17 2316rails出错的时候,一般都是跳转到错误跟踪的页面下,这样在开 ... -
rails下修改http头(http header)
2010-01-22 17:08 5154其实就是修改response中一个叫做headers的Hash ... -
在Rails的controller中访问params的一个小细节
2009-12-02 22:36 7247大家都知道controller中的params其实是一个Has ... -
Rails开发工具之Vim
2009-10-19 16:06 12166学习和开发Ruby & Rails ... -
Thinking Sphinx + Coreseek + rmmseg的安装与使用
2009-10-06 23:48 3767要在Rails上使用全文检索,选择一直不多,以前我一直是使用F ... -
Migrations流水帐
2009-07-11 16:02 1193对于Rails的迁移功能Migrations,一直都只是看一下 ... -
重新安装ruby遇到的问题
2009-06-13 13:14 1288昨天重装了操作系统,要重新安装ruby环境. 因为以前 ... -
JRuby使用经验
2009-05-10 17:06 1914首先我是一个Java程序员 ... -
使用ri查看Rails的API
2009-03-25 23:31 4436我一直都比较习惯直接到 http://www.ruby-doc ... -
今晚用上了ruby的动态方法调用,open class和mixin三大神器
2009-01-12 00:43 2176今晚人品爆发,一举用上了ruby的动态方法调用,open cl ... -
让rails中多态关联的方法名更加人性化
2008-12-02 22:55 2400rails中的多态关联功能,很好很强大。 但是多态关联的方法 ...
相关推荐
.9.1是ruby 1.9系列以来的第一个production ready的版本,这也标志着Ruby社区从此迈向了1.9的时代。 ruby 1.9是ruby发展历史上的一个里程碑版本: 1、ruby 1.9首次引入字节...rails的下一个版本Rails 2.3将支持ruby ...
ruby1.9.1文档和一本pdf, 找了比较久
由于官方提供的Ruby-FCGI扩展不能在Ruby 1.9.1环境下使用,需要调整其中的FCGI.C源文件才能安装。这里提供的是经过修改后的源码包,可以在Ruby 1.9.1环境下使用。
最新版linux consul_1.9.1_linux_amd64.zip最新版linux consul_1.9.1_linux_amd64.zip
1.chmod + x pcl.sh#增加可执行权限 2../pcl.sh#安装在/usr/local/pcl/pcl-1.9.1 3.sudo gedit .bashrc 4.添加export PCL_DIR=/usr/local/pcl/pcl-1.9.1
NULL 博文链接:https://raylinn.iteye.com/blog/650850
quora, Quora.com 与 Ruby on Rails ( 不再维护) 类似 Quora克隆在 Rails 上的ruby 中写入。要求首先安装软件Linux ( 推荐 Ubuntu 10.10 ) 。ruby 1.9.2 ( 不支持 1.9.1或者 1.8 )MongoDB 1.8Redis 2.
mingw32-ruby-1.9.1-wxruby-2.0.1-setup.exe
jBox 是一款基于 jQuery 的多功能对话框插件,能够实现网站的整体风格效果,给用户一个新的视觉享受。
ubuntu版本交叉编译器
Ubuntu 14 操作系统下 Docker 1.9.1离线安装文件,安装之后即可使用Docker相关服务部署自己的集群应用。
linux ubuntu常用命令总结(pip,conda,shell命令行等)
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
4、优点:快速上手、全面支持验证、授权、加密和会话、灵活自定义设计、支持web环境、可以无缝集成spring等优点。可以用来用户验证、用户授权、用户session管理、安全加密等 5、基于RBAC五张表:用户表 tb_user、...
在 Heroku 上创建和部署 Ruby on Rails 应用程序。 更新 02/12/2015 本手册是基于以下环境编写的: Ubuntu 14.04 Ruby 2.1.2 导轨 4.1.4 PostgreSQL 9.1 git 1.9.1 首先注册Heroku ( ) 并登录平台,然后下载...
jquery-1.9.1版本
MingGeJS1.9.1类库加强升级版 这是修复1.9.0下BUG的一个版本
到2009-06-20为止是最新的ruby编程环境, 这个环境是在Windows 下使用的 你双击这个程序就可以进行安装。
最新的ruby的安装包,包含丰富的插件,如json解析等~~