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 下更好些?

发表你的看法

最近主题:

最近评论

  • g.zhen.ning: 有道理,有点喜欢ruby,不过不知道前...
  • Suave: rails 还是挺有局限性的,ruby 是个更...
  • g.zhen.ning: 对,rails越用越顺手~,交流还谈不上,...
  • Suave: @g.zhen.ning 跟着 rails 版本走事件挺有...
  • g.zhen.ning: 看了你写Web 开发大全 - Ruby on Rails 版...