技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 其他 --> RoR初学笔记

RoR初学笔记

浏览:1167次  出处信息

    今天开始学习RoR,刚开始入门就遇到一些问题,记笔记如下。以下运行环境均为MacOS 10.6 + MacPorts 2.0.4,ruby为MacPorts下的ruby1.9.3-p125_0。

rails-3.2.3升级到rails-3.2.7的问题

    由于教程使用的rails版本是3.2.7,而我以前安装的rails为3.2.3,于是想升级一下。

$ rails -v
Rails 3.2.3
$ sudo gem update rails
...
Successfully installed rails-3.2.7

    gem报告已正确安装了rails-3.2.7,查看gem list的确也安装成功了:

$ gem list --local
...
rails (3.2.7, 3.2.3)

    但运行rails的版本号还是3.2.3:

$ rails -v
Rails 3.2.3

    百思不得其解。后来查看rails-3.2.7的升级指南时发现,gem版本必须>=1.8.24,而我的gem版本为1.8.22。于是先升级了下gem:

$ gem update --system

    升级之后再运行rails就正确了(不用重新gem update rails了):

$ rails -v
Rails 3.2.7

bundle exec rake db:migrate错误

    按照教程更新数据库时发生错误:

$ bundle exec rake db:migrate
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/dependency.rb:52:in `initialize\': Valid types are [:development, :runtime], not nil (ArgumentError)

    查明原因,原来是我用的ruby为MacPorts中的ruby1.9,实际的可执行文件为/opt/local/bin/ruby19,为了方便使用,我做了符号链接:

$ ls -l /opt/local/bin/ruby
lrwxr-xr-x  1 root  admin  7 25 Apr 10:39 /opt/local/bin/ruby -> ruby1.9

    但rake命令仍然是Mac系统自带的rake(囧):

$ which rake
/usr/bin/rake

    解决办法就简单了。由于我的PATH设置中/opt/local/bin优先于/usr/bin,那么只需在/opt/local/bin下建立rake19的符号链接就行了。

$ cd /opt/local/bin
$ sudo ln -s rake19 rake

建议继续学习:

  1. windows下完全手动配置绿色版ROR    (阅读:2343)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
  • 作者:charlee    来源: idv2
  • 标签: RoR
  • 发布时间:2012-08-07 13:37:42
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1