2015-12-22 12 views
0

В текущем каталоге, у меня есть 2 встроенных драгоценных камней: hello_gem-0.1.0.gem
hello_gem-0.1.1b.gemкамень установки игнорирует драгоценные камни, какой номер версии имеет буквы

Эти файлы строить с командой

gem build hello_gem.gemspec

когда я бегу

gem install --explain hello_gem

печатает

Gems для установки: hello_gem-0.1.0

Почему hello_gem-0.1.1b.gem игнорируется? Если буквы в номере версии не поддерживаются, почему процедура сборки позволяет им?

Источники находятся на https://github.com/rfqu/hello_gem

ответ

1

Я предполагаю, что у вас есть опечатка в вопросе:

▶ Gem::Version.new('0.1.0') > Gem::Version.new('0.1.1b') 
#⇒ false 
▶ Gem::Version.new('0.1.0') > Gem::Version.new('0.1.0b') 
#⇒ true 

gem install лечит 0.1.0b как быть «меньше», чем 0.1.0, но 0.1.1b это ни значит больше, чем 0.1.0. Во всяком случае, вы всегда можете установить явную версию с:

gem install hello_gem -v '0.1.1b' 

или, еще более явно:

gem install --local ./hello_gem-0.1.1b.gem 

Поскольку репо Вы отправили ссылку пуст, я не могу быть более точным.

+0

спасибо mudasobwa. 1) В вопросе нет опечатки - я намеренно устанавливаю версию с буквой, отличной от чистой цифровой версии. 2) «gem install hello_gem -v» 0.1.1b '"дает" ERROR: Не удалось найти допустимый gem' hello_gem '(= 0.1.1b) в любом репозитории ". 3) «gem install --local ./hello_gem-0.1.1b.gem» устанавливает gem «hello_gem-0.1.1b» в /var/lib/gems/2.1.0/gems/, но не в/usr/local/bin , 4) репо обновляется. –

+0

Вы не хотите устанавливать драгоценные камни в '/ usr/local/bin'. – mudasobwa

+0

Некоторые драгоценные камни устанавливаются в '/ usr/local/bin', например' gem install sass' создает экземпляры '/ usr/local/bin/sass'. Интересно, какие именно камни, точно. –

 Смежные вопросы

  • Нет связанных вопросов^_^