Ветка Gem неправильно установлена ​​с Rails и Gemfile - PullRequest
0 голосов
/ 20 января 2011

Начальная проблема

Я использовал yaml_db в проекте Rails, но похоже, что ветка по умолчанию имеет некоторые проблемы с логическими записями. Теперь я знаю, что на github есть ветка с фиксированной версией .

Я изменил свой Gemfile, так что эта ветка будет установлена ​​вместо значения по умолчанию yaml_db,

gem 'yaml_db', :git => "https://github.com/robsharp/yaml_db.git"

Я запускаю bundle install, и он показывает:

Использование yaml_db (0.2.0) из https://github.com/robsharp/yaml_db.git (у мастера).

Ваш комплект готов! Он был установлен в /Users/user/.rvm/gems/ruby-1.9.2-p0

Fine. Теперь исправленный файл в репозитории Git должен иметь эту строку в lib/serialization_helper.rb:

record[column] = convert_boolean(record[column])

Тем не менее, когда я смотрю на свой локальный файл, который является .rvm/gems/ruby-1.9.2-p0/bundler/gems/yaml_db-ca178cfb59cf/lib/serialization_helper.rb, он все еще показывает не исправленную старую строку :

record[column] = (record[column] == 't' or record[column] == '1')

Хорошо, похоже, мой локальный файл не изменился.


Gem неправильно установлен

Запуск gem list вообще не покажет yaml_db. Я удалил файл блокировки Gem и снова установил пакет, но в моем списке Gem нет yaml_db. Запуск gem install yaml_db, конечно, устанавливает только сломанную версию.


Ручная установка

Я сейчас пытаюсь установить вручную из источника Git.

git clone https://github.com/robsharp/yaml_db.git
cd yaml_db
git checkout -b fix_boolean_checks_to_support_oracle

Тем не менее, файл serialization_helper.rb обновляется неправильно. Я просто вручную изменил его и построил Gem. Теперь все отлично работает.

Мой новый вопрос: Почему он не проверит правильный файл?

1 Ответ

1 голос
/ 20 января 2011

Если вы запускаете gem list yaml_db и видите несколько версий в скобках, определите нужную версию в вашем Gemfile следующим образом:

gem 'yaml_db', '~> 0.2.0', :git => "https://github.com/robsharp/yaml_db.git"

У меня была похожая проблема, и я обнаружил, что файл Gemfile.lock сохраненмоя старая и не обновленная версия, которая использовалась для моего проекта.

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