RoR初学笔记
浏览:1060次 出处信息
今天开始学习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天十大热文
- [16] Go Reflect 性能
- [15] 浏览器的工作原理:新式网络浏览器幕后揭秘
- [13] iOS下自己动手造无限循环图片轮播
- [13] 界面设计速成
- [13] iOS可视化编程 Tips 之“无需代码设置
- [12] Spark性能优化——和shuffle搏斗
- [12] iTerm2 (Mac Terminal)
- [12] 最萌域名.cat背后的故事:加泰与西班牙政府
- [12] iOS并发编程(Concurrency Pr
- [11] 系统工程师的自我修养- sed篇