【问题标题】:complicated installation spagetti of latest Rails 2.3.5最新 Rails 2.3.5 的复杂安装 spagetti
【发布时间】:2011-01-08 17:05:45
【问题描述】:

基本的,我想,更多的修辞问题是,为什么 RoR 安装/维护变得如此 F%#$ing 复杂?

问题的一些背景: 平台:Windows XP 红宝石版本:1.8.6 使用 gem 版本 1.2.0 安装的几十个 gem 当前 Rails 版本:2.1

我只是想更新到 Rails 2.3.5,认为我有一个适度的愿望,但显然不是。我的奋斗:

  1. 运行 'gem update rails --include-dependencies'(收到消息说不再支持此选项(为什么不支持?),但更新持续了一段时间)

  2. 错误提示“actionpack”依赖于“rack”gem(需要 v 1.0.0)。

  3. 好的,运行 'gem install rack' - 机架 1.1.0 已安装

  4. 重新运行“gem install rails”,但遇到了同样的问题。以为它可能不喜欢rack 1.1.0...好吧,找到1.0.0版本,下载它,卸载v.1.1.0,安装v.1.0.0代替

  5. 再次运行 gem install rails,现在 rails 已安装完毕

  6. 运行 'rails app-name' 来创建我的应用程序,遇到一些连续的错误,表明缺少这个或那个 gem。我去的时候安装了它们

  7. 到了缺少 'fcgi' gem 的地步,找不到已编译的版本,请阅读将 ruby​​gem 版本从 1.2(错误)更新到 1.3.5 可能会更好

    李>
  8. 好的,开始更新rubygem。到了我无法完成 1.3.5 版本安装因为 gemcutter gem 丢失的地步
  9. 尝试安装 gemcutter 并抱怨它需要 ruby​​gems 1.3.5!
  10. ...顺便说一句,'rails my-app' 仍然会产生 fcgi gem 丢失的错误

这不是坚果吗?!

我希望我的经历不是独一无二的,也许有人可以在这里帮助我。提前致谢!

【问题讨论】:

  • 我现在正在与这个完全相同的厄运依赖圈作斗争。
  • 我破解了 ruby​​gems.rb 以跳过一些 gem 加载(gemcutter、hoe),因为不需要它们来安装 ruby​​gems。没有帮助,fcgi 没有编译所需的一切。今晚下班后我会更新 ruby​​ (rubyinstaller.org/download.html)
  • 这太疯狂了。对 RubyGems/Gemcutter 维护者真正有帮助的是,如果我们可以将其变为可重现的状态。也许显示gem update --system -V 的输出和发生的循环依赖,也显示当前的RubyGems 版本以及gem -v

标签: ruby-on-rails rubygems fastcgi gemcutter


【解决方案1】:

Windows XP Ruby 版本:1.8.6

这是你的主要问题。我以前在 Windows 上开发时遇到很多问题,主要是性能和 gem/plugin 相关(有些 gem 无法编译)。

一旦我将 Rails 开发转移到运行第一个 Ubuntu 和最近运行 Debian 的虚拟机上,生活就没有那么令人沮丧了。

我的主要动机是开发平台应尽可能与部署平台(Ubuntu)匹配。

我已经written a guide 了解如何使用 VirtualBox(免费虚拟化软件)在 Windows XP 上设置 Ubuntu Rails 开发环境。

【讨论】:

  • 这似乎是那些与 Windows 绑定的 Ruby 人员的常见模式……虚拟化。或切换:p。
  • 谢谢,Nazar,我一定会调查的!
【解决方案2】:

我怀疑问题在于您正在使用 Ruby 的一键式安装程序发行版,该发行版现在已经非常过时了。请改用 RubyInstaller,它取代了 OCI 并解决了许多 Ruby on Windows 问题。

RubyInstaller 包括当前版本的 RubyGems,并且该项目还提供了一个名为 DevKit 的可选编译器,它可以使 gem 包中包含的任何本机扩展正确编译。 RubyInstaller 被标记为候选发布版,因为还有一些调整可以改善用户体验,但我发现它功能齐全且稳定。

--include-dependencies 行为现在是 RubyGems 的默认行为,因此一旦您拥有 RubyInstaller 和 DevKit,您就可以像这样设置您的堆栈:

  1. gem 安装 gemcutter
  2. gem 安装 sqlite3-ruby
  3. gem 安装导轨

我假设您的系统上已经安装了 SQLite3。如果没有,您只需从 SQLite 网站获取文件 sqlite3.dll 和 sqlite3.exe 并将它们粘贴到 PATH 上的文件夹中,然后再安装 gem。

【讨论】:

  • 谢谢,Stuart,与此同时(在迁移到 Ubuntu 之前)我同意了你的建议,删除了旧的 Ruby 版本并获得了 1.9。是的,我必须重新安装所有需要的 gem,我想没有其他方法可以解决我的问题。感谢您的链接!
【解决方案3】:

Ruby、Rails 和 Windows 从来没有表现得特别好。我在 OS X 和 Ubuntu 上,绝对没有这么糟糕。

迁移到 Rails 2.3.x 是向 Rails 3 迈出的一步,因此需要进行一些额外的调整(迁移到 Rack 是最明显的)。

我才意识到我没有真正的答案......

【讨论】:

    【解决方案4】:

    InstantRails 使其在 Windows 上的安装变得非常容易,因为它们已经为您完成了所有复杂的工作......但是您必须愿意使用旧版本的 Ruby 和 Rails,因为它还没有更新3年内。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-25
      • 2015-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多