ruby gems compatible issue
装了 Rails 2.1 以后升级了一些相应的 gems,比如 rubyforge, rubygem 之类。再到一个 Rails 1.2.3 的项目下运行 script/server, 收到错误提示:
can’t activate rubyforge (=0.4.4), already activated rubyforge-1.0.0
搜索一下很多人遇到同样的问题,因为安装的 rubyforge 版本太多了,解决方法就是删掉所有的再装一个最新版:
sudo gem uninstall -a rubyforge
sudo gem install rubyforge
再运行又遇到问题:
RedCloth is not a class (TypeError)
RedCloth 之前用的 3.0.4,后来装了 4.0.1,据说 4.x 的 main class 不再是 RedCloth,而改成了 RedCloth::TextileDoc,无语。后来发现新的 rubygems 可以指定版本来引入 gem:
require ‘rubygems’
gem ‘RedCloth’, ‘3.0.4′
再测试问题解决,或许将 3.0.4 freeze 到 vendor 下更好些?