rb-inotify 的更新是否在 Ruby 1.x 上打破了罗盘?
Did the update to rb-inotify just break compass on Ruby 1.x?
12 月 15 日 the rb-inotify
gem was updated to the version 0.10.0
which now requires Ruby 2.2
or later. The compass
gem 具有 rb-inotify >= 0.9
的运行时依赖项,现在似乎自动包含版本 0.10.0
。因此在Ruby 1.9.3上安装compass
时,rb-inotify
安装失败,导致compass
安装失败。
我的理解正确吗? rb-inotify
现在是否已在 Ruby 1.x 上破坏了像 gem install compass
这样的简单命令?在不更新 Ruby 的情况下解决此问题的最佳方法是什么?
Have I understood this correctly? Has rb-inotify
now broken simple commands like gem install compass
on Ruby 1.x?
不,不是rb-inotify
破坏了任何东西。
compass
gem 依赖于 rb-inotify >= 0.9
,这意味着 compass
gem 的作者声称 Compass 将与 未来发布的每个版本,甚至从现在开始的 10000 年,无论有多少变化。正如您所发现的,这种说法是错误的,所以问题出在 Compass,而不是 rb-inotify。
我在 rb-inotify 主页上找不到版本控制策略,因此依赖任何特定的版本控制策略(尤其是依赖 "there will never be backwards-incompatible changes, ever")都是错误的。即使我们假设 rb-inotify 遵循 SemVer,实际上 SemVer 在 1.0 之前允许任意更改。
简而言之:Compass中的gem依赖是错误的。最多应该是rb-inotify == 0.9.0
或rb-inotify ~> 0.9.0
,但显然不是"any version newer than 0.9.0, no matter how many changes there are".
What is the best way to fix this without updating Ruby?
如果您安装 rb-inotify
版本 0.9.0 并且只安装那个版本(或者至少没有更新的版本)之前安装 Compass,那么 gem 要求就已经满足,并且 RubyGems 不会尝试安装任何更新版本的 rb-inotify
(除非并且直到您安装另一个 gem需要更高版本)。
现在,一个你没有问过的问题:
What is the best way to fix this?
您真的应该考虑更新您的 Ruby 安装。我假设 "Ruby 1.9.3",你实际上是指 "YARV 1.9.3",自 2015 年 2 月 23 日以来,它没有得到维护、更新、收到错误修复,最重要的是收到安全修复。
12 月 15 日 the rb-inotify
gem was updated to the version 0.10.0
which now requires Ruby 2.2
or later. The compass
gem 具有 rb-inotify >= 0.9
的运行时依赖项,现在似乎自动包含版本 0.10.0
。因此在Ruby 1.9.3上安装compass
时,rb-inotify
安装失败,导致compass
安装失败。
我的理解正确吗? rb-inotify
现在是否已在 Ruby 1.x 上破坏了像 gem install compass
这样的简单命令?在不更新 Ruby 的情况下解决此问题的最佳方法是什么?
Have I understood this correctly? Has
rb-inotify
now broken simple commands likegem install compass
on Ruby 1.x?
不,不是rb-inotify
破坏了任何东西。
compass
gem 依赖于 rb-inotify >= 0.9
,这意味着 compass
gem 的作者声称 Compass 将与 未来发布的每个版本,甚至从现在开始的 10000 年,无论有多少变化。正如您所发现的,这种说法是错误的,所以问题出在 Compass,而不是 rb-inotify。
我在 rb-inotify 主页上找不到版本控制策略,因此依赖任何特定的版本控制策略(尤其是依赖 "there will never be backwards-incompatible changes, ever")都是错误的。即使我们假设 rb-inotify 遵循 SemVer,实际上 SemVer 在 1.0 之前允许任意更改。
简而言之:Compass中的gem依赖是错误的。最多应该是rb-inotify == 0.9.0
或rb-inotify ~> 0.9.0
,但显然不是"any version newer than 0.9.0, no matter how many changes there are".
What is the best way to fix this without updating Ruby?
如果您安装 rb-inotify
版本 0.9.0 并且只安装那个版本(或者至少没有更新的版本)之前安装 Compass,那么 gem 要求就已经满足,并且 RubyGems 不会尝试安装任何更新版本的 rb-inotify
(除非并且直到您安装另一个 gem需要更高版本)。
现在,一个你没有问过的问题:
What is the best way to fix this?
您真的应该考虑更新您的 Ruby 安装。我假设 "Ruby 1.9.3",你实际上是指 "YARV 1.9.3",自 2015 年 2 月 23 日以来,它没有得到维护、更新、收到错误修复,最重要的是收到安全修复。