基本的,我想,更多的修辞问题是为什么RoR安装/维护变得如此F%#$复杂?
问题的一些背景: 平台:Windows XP Ruby版本:1.8.6 使用gem版本1.2.0安装了几十个宝石 当前的Rails版本:2.1
我只是想更新到rails 2.3.5,认为我有一个适度的愿望,但显然不是。我的斗争:
运行'gem update rails --include-dependencies'(得到消息说不再支持此选项(为什么不支持?),但更新持续了一段时间)
得出错误,'actionpack'依赖于'rack'gem(需要v 1.0.0)。
好的,运行'gem install rack' - 机架1.1.0已安装
重新运行'gem install rails',但遇到了同样的问题。以为它可能不喜欢机架1.1.0 ......好的,找到1.0.0版本,下载它,卸载v.1.1.0,安装v.1.0.0而不是
再次重新运行gem install rails,现在已经安装了rails
运行'rails app-name'来创建我的应用程序,得到了一些连续错误,这个或那个宝石丢失了。在我去的时候安装了它们
到了'fcgi'gem缺失的地步,找不到编译版本,读到可能更好的将rubygem版本从1.2(buggy)更新到1.3.5
不是坚果吗?!
我希望我的经历并不独特,也许有人可以帮助我。提前谢谢!
答案 0 :(得分:2)
Windows XP Ruby版本:1.8.6
这是你的主要问题。我曾经有很多问题,主要是在Windows上开发时性能和gem /插件相关(有些宝石无法编译)。
一旦我将Rails开发移动到运行第一个Ubuntu和最近的Debian的虚拟机上,生活就不那么令人沮丧了。
我的主要动机是开发平台应该尽可能地匹配部署平台(Ubuntu)。
关于如何使用VirtualBox(免费虚拟化软件)在Windows XP上设置Ubuntu Rails开发环境,我written a guide。
答案 1 :(得分:2)
我怀疑问题是你正在使用Ruby的One-Click安装程序发行版,现在它已经过时了。使用RubyInstaller代替OCI并解决许多Ruby on Windows问题。
RubyInstaller包含当前版本的RubyGems,该项目还提供了一个名为DevKit的可选编译器,它可以使gem包中包含的任何本机扩展能够正确编译。 RubyInstaller被标记为Release Candidate,因为有一些调整可以改善用户体验,但我发现它功能齐全且稳定。
--include-dependencies行为现在是RubyGems的默认行为,所以一旦你拥有了RubyInstaller和DevKit,就可以这样设置你的堆栈:
我假设您已经在系统上安装了SQLite3。如果没有,您只需要从SQLite网站获取文件sqlite3.dll和sqlite3.exe,并在安装宝石之前将它们粘贴在PATH上的文件夹中。
答案 2 :(得分:0)
Ruby,Rails和Windows从未如此出色地发挥过。我在OS X和Ubuntu上,这绝对不是那么糟糕。
向Rails 2.3.x的迁移是向Rails 3迈出的一步,所以需要一些额外的摆弄(转向Rack是最明显的)。
我刚才意识到我没有真正的答案......
答案 3 :(得分:0)
InstantRails使得在Windows上安装变得非常简单,因为他们为您完成了所有复杂的工作......但是您必须愿意使用旧版本的Ruby和Rails,因为它没有已在3年内更新。