Почему Бандлер не может найти этот драгоценный камень? - PullRequest
3 голосов
/ 02 июня 2011

Почему bundler не может найти гем Mechanize?

В Gemfile моего проекта Rails есть следующее:

gem 'mechanize', :git => 'git://github.com/tenderlove/mechanize.git'

При запуске установки пакета выдается следующая ошибка:

Updating git://github.com/tenderlove/mechanize.git
Fetching source index for http://rubygems.org/
Could not find gem 'mechanize (>= 0)' in git://github.com/tenderlove/mechanize.git (at master).
Source does not contain any versions of 'mechanize (>= 0)'

Я пришел к этой проблеме после того, как разбудил проект, чтобы внести небольшие изменения, но не смог заставить упаковщик использовать местоположение github или локальный путь.Почему он не может найти камень?

Если я удаляю все инструкции и просто выполняю gem 'mechanize', тогда он работает безупречно.


Версии: Bundler1.0.14 + релизная версия Rails 3.1 + Ruby 1.8.7 (через RVM) + Debian 5

Ответы [ 5 ]

6 голосов
/ 02 июня 2011

Похоже, что в проекте отсутствует gemspec, и он не будет добавлен.

Вы сможете клонировать проект в каталог vendor / gems.Вам также нужно будет создать файл mechanize.gemspec.Затем вам потребуется это в вашем Gemfile, используя что-то вроде.

gem 'mechanize',            :path => 'vendor/gems/mechanize'
1 голос
/ 05 сентября 2011

Используйте версию явно.Они не поддерживают неизданные версии, поэтому они удаляют файл gemspec.

gem 'mechanize', '2.0.1'

Это работает для меня.

1 голос
/ 02 июня 2011

В случае, если кто-то наткнется на эту ветку в будущем, вот что я сделал, чтобы она заработала ..

Я разбудил проект, внес изменения и запустил следующее, чтобы сгенерировать .gemspec:

rake debug_gem | grep -v "(in " > `basename \`pwd\``.gemspec

Мне пришлось внести небольшие изменения, потому что gemspec пытался включить файл .gemtest, который не существовал.

Затем я изменил свой Gemfile на источник по пути:

gem 'mechanize', :path => '/my_rails_app/vendor/gems/mechanize'

Затем я запустил пакетную установку и все прошло без проблем.

1 голос
/ 02 июня 2011

Я видел более старую версию компоновщика, имеющую проблемы с git: // like urls.

Вы пробовали обновить bundler; или заменив git: // на http: //?

0 голосов
/ 03 ноября 2016

Я столкнулся с той же проблемой, я изменил, добавив версию гем между именем и путем.

gem 'image_core', '0.0.1',: path => './lib/engine/image_core'

...