Не удалось найти gem ‘rubytree (~> 0.5.2) ruby’ при установке ChiliProject в Debian

#ruby #gem #bundle #chiliproject

#ruby #gem #пакет #chiliproject

Вопрос:

Я пытаюсь установить chiliproject на сервер, следуя — хорошо сделанной — документации, я сталкиваюсь с этой ошибкой

 Could not find gem 'rubytree (~> 0.5.2) ruby' in any of the gem sources listed in your Gemfile.
  

Я установил rubytree с помощью gem

Я получаю это сообщение

 ========================================================================

 Thank you for installing rubytree.

              WARNING: SIGNIFICANT API CHANGE in 0.8.0 !
              ------------------------------------------

 Please note that as of 0.8.0 the CamelCase method names are DEPRECATED.

 The new method names follow the ruby_convention (separated by '_').

 The old CamelCase methods still work (a warning will be displayed),
 but may go away in the future.

 Details of the API changes are documented in the API-CHANGES file.

========================================================================
Successfully installed rubytree-0.8.1
1 gem installed
Installing ri documentation for rubytree-0.8.1...
file 'COPYING,API-CHANGES' not found
Installing RDoc documentation for rubytree-0.8.1...
file 'COPYING,API-CHANGES' not found
  

Это говорит о том, что установка прошла успешно. Итак, почему я получаю сообщение об ошибке?
Если ошибка связана с изменением API, как я могу запросить версию 0.5.2 драгоценного камня rubytree?

Когда я делаю gem list --local | grep 'rubytree' , у меня есть этот вывод rubytree (0.8.1)

Итак, почему система сообщает, что не удалось найти gem ‘rubytree’?

спасибо за любую помощь,

Ответ №1:

В зависимости от того, какую версию rails вы используете (и похоже, что вы используете относительно более новую, если она запрашивает ваш Gemfile), вам нужно использовать Bundler для управления вашими gems.

Попробуйте отредактировать свой Gemfile, добавив новую строку следующего содержания:

 gem "rubytree", "< 0.6"
  

Затем откройте консоль и введите эту команду

 bundle install
  

Это должно решить ваши проблемы, но если вы все еще получаете ошибки при выполнении команды, попробуйте ввести bundle exec перед командой (т. Е. rails server Становится bundle exec rails server ).

Комментарии:

1. ChiliProject уже использует bundler и указывает rubytree ~> 0.5.2 . И в настоящее время мы довольно настойчивы в этом…

2. Ну, если вы не заметили, самая высокая версия rubytree <0.6 — 0.5.3. Просто говорю. Ваша строка делает то же самое, что и моя, если только создатели rubytree внезапно не решат выпустить версию 0.5.8 или что-то в этом роде.

3. Да, но, учитывая, что ваше предлагаемое редактирование не делает ничего, чего у нас еще нет. Извините, если это прозвучало немного грубо…

Ответ №2:

В настоящее время нам требуется rubytree именно версия 0.5.2 или 0.5.3, как указано в our Gemfile , версии 0.8.1., которую вы установили вручную, будет недостаточно для этого требования, что и указано в сообщении об ошибке.

Что кажется немного странным, так это буквальное ruby значение в сообщении об ошибке. Не могли бы вы, пожалуйста, убедиться, что в вашей системе точно не изменен Gemfile исходный код? Кроме того, не могли бы вы, пожалуйста, удалить все установленные пользователем плагины и повторить попытку? Кроме того, какой ruby (тип и версия) в какой операционной системе вы используете?

Комментарии:

1. Я никогда не открывал Gemfile, чтобы отредактировать его самостоятельно. Для версии ruby вывод ruby -v выглядит следующим образом ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux] для ОС Debian 6.0. У AI не установлен плагин. Я взял документ с самого начала и следил за ним, пока не добрался туда. Ранее на этом сервере не был установлен ruby.