RoR初学笔记
浏览:1635次 出处信息
今天开始学习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天十大热文
-
[917] WordPress插件开发 -- 在插件使用 -
[135] 解决 nginx 反向代理网页首尾出现神秘字 -
[54] 整理了一份招PHP高级工程师的面试题 -
[53] 如何保证一个程序在单台服务器上只有唯一实例( -
[52] Innodb分表太多或者表分区太多,会导致内 -
[52] 海量小文件存储 -
[51] 全站换域名时利用nginx和javascri -
[51] 用 Jquery 模拟 select -
[50] CloudSMS:免费匿名的云短信 -
[48] jQuery性能优化指南
