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
建议继续学习:
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:Spark随谈——开发指南(译)
后一篇:15+ 实用 WordPress 技巧 >>
文章信息
- 作者:charlee 来源: idv2
- 标签: RoR
- 发布时间:2012-08-07 13:37:42
建议继续学习
近3天十大热文
- [54] IOS安全–浅谈关于IOS加固的几种方法
- [52] android 开发入门
- [52] 如何拿下简短的域名
- [51] 图书馆的世界纪录
- [49] Go Reflect 性能
- [49] Oracle MTS模式下 进程地址与会话信
- [47] 【社会化设计】自我(self)部分――欢迎区
- [46] 读书笔记-壹百度:百度十年千倍的29条法则
- [35] 程序员技术练级攻略
- [27] 视觉调整-设计师 vs. 逻辑