【发布时间】:2023-03-16 20:09:01
【问题描述】:
我在 Windows 10 x64 上安装了最新的 ruby 和最新的 rails。起初,一切都运行良好。
然后我创建了新应用程序,但由于 nokogiri 1.6.6.4 x64-mingw32 问题而无法启动服务器。所以我在互联网上查看并下载了最新的 nokogiri 1.6.7.rc4 x64-mingw32 并更新了我的 gem 并制作了 bundle update nokogiri。所以服务器现在工作得很好。那里没有问题。
我想知道的是,为什么当我创建一个新应用程序“rails new appname”时,它总是放入我的 gem 文件 nokogiri 1.6.6.4?
我卸载了它,但每次创建新应用程序时,我都必须手动编辑 gem 文件并更新 bundle nokogiri,以便服务器可以使用最新的 nokogiri。是否可以更改 ruby/rails/gem 的配置中的某些内容,以便在创建时安装最新的 nokogiri?
因为 1.6.6.4 直到你创建一个应用程序才安装,然后它又被安装了,为什么?
感谢您的帮助。
【问题讨论】:
-
您使用的是什么版本的 Ruby 和什么版本的 Rails?当你创建一个新的 Rails 项目时,你传递了哪些选项?在您更改任何内容之前,您的新项目的 Gemfile.lock 文件对依赖关系有何规定?
-
ruby 2.2.3., rails 4.2.5., 我只创建 rails new appname 没有选项。所有标准安装。 gemfile.lock 说 nokogiri (1.6.6.4-x64-mingw32)。我还没有真正体验过rails。如果可以在创建 nokogiri (1.6.7.rc4-x64-mingw32) 之后传递它会处于锁定文件中,那就太好了。
-
根据 RubyGems.org 1.6.7.rc4 - 2015 年 11 月 22 日 x64-mingw32 (4.31 MB) 可用。您是否清除了本地 gem 缓存?这可能只是传播延迟。
-
不,这里还有其他事情发生。 RubyGems 在早期安装不需要的预发布版本时遇到了一些问题。我想知道他们是否在修复时破坏了其他东西。我在 Gemfile.lock 中看到了这个:' rails-dom-testing (1.0.7) activesupport (>= 4.2.0.beta, 1.6.0)`
-
啊。我想我看到了问题。 rails-dom-testing gem 在其规范文件中有这个:
spec.add_dependency "nokogiri", "~> 1.6.0"。由于它不需要预发布版本,我怀疑这会阻止 dot-rc4 nokogiri。您可以在 github 上提出问题,让 Rails 团队查看:https://github.com/rails/rails/issues
标签: ruby windows ruby-on-rails-4