Разве обновление rb-inotify сломало компас на Ruby 1.x? - PullRequest
0 голосов
/ 19 декабря 2018

15 декабря камень rb-inotify был обновлен до версии 0.10.0, для которой теперь требуется Ruby 2.2 или более поздняя версия. compass gem имеет зависимость времени выполнения rb-inotify >= 0.9, которая теперь автоматически включает версию 0.10.0.Таким образом, в Ruby 1.9.3 при установке compass установка rb-inotify завершается неудачно, что приводит к сбою установки compass.

Правильно ли я понял?У rb-inotify теперь не работают простые команды, такие как gem install compass на Ruby 1.x?Каков наилучший способ исправить это без обновления Ruby?

1 Ответ

0 голосов
/ 19 декабря 2018

Правильно ли я понял?* * * * * * * * *

* * * * * * * * * * * * * * * * * * * * * * * 100 * * rb-inotify * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 100 '* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *' '101' *.gem зависит от rb-inotify >= 0.9, что означает, что автор compass gem утверждает, что Compass будет работать с каждой версией, когда-либо выпущенной в будущем, даже через 10000 лет, независимо от того, сколько изменений.Как вы обнаружили, это утверждение неверно, поэтому проблема в Compass, а не в rb-inotify.

Я не смог найти политику управления версиями на домашней странице rb-inotify, поэтому полагаюсь на какую-либо конкретную версиюполитика (и, в частности, полагаться на то, что «никогда не будет изменений, несовместимых с прошлым») просто неверна.Даже если мы предположим, что rb-inotify следует за SemVer, SemVer фактически допускает произвольные изменения до 1.0.

Короче: зависимость от гемов в Compass неверна.Это должно быть что-то вроде rb-inotify == 0.9.0 или самое большее rb-inotify ~> 0.9.0, но явно не "любая версия новее, чем 0.9.0, независимо от того, сколько изменений".

Каков наилучший способ исправить это без обновления Ruby?

Если вы устанавливаете rb-inotify версия 0.9.0 и только эту версию (или, по крайней мере, не более новую версию) до установки Compass, тогда требование к гему будет уже выполнено, и RubyGems не будет пытаться установить какую-либо более новую версию rb-inotify (до тех пор, пока вы не установите другой гем, для которого требуется более высокая версия).


Теперь вопрос, который вы не задавали:

Каков наилучший способ исправить это?

Вы действительно должны подумать об обновленииРубиновая установка.Я предполагаю, что под "Ruby 1.9.3" вы на самом деле имеете в виду "YARV 1.9.3", который не поддерживался, не обновлялся, не получал исправления и, самое главное, получал исправления безопасности с 23 февраля 2015 года.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...