2016-08-31 6 views
0

У меня есть драгоценный камень, который мы назовем mygem, который имеет исполняемый файл, используемый в качестве инструмента CLI.Ruby Неразрешенные спецификации во время Gem :: Specification.reset с установленными драгоценными камнями

Файл mygem/bin/mygem:

#!/usr/bin/env ruby 
lib = File.expand_path('../lib', __FILE__) 
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) 
require 'bundler/setup' 
....code goes here.... 

mygem.gemspec:

Gem::Specification.new do |gem| 
    gem.bindir  = 'bin' 
    gem.executables = ['mygem'] 
end 

сборки и установки:

gem build mygem.gemspec 
gem install mygem-0.1.0.gem 
<optionally bundle install, but that won't fix the error> 

И, в конце концов, я могу успешно позвонить mygem из командной строки и скрипт запускается.

Проблема в том, что она может работать только из папки, которая не содержит Gemfile. При выполнении в противном случае, система выдает ошибку:

WARN: Unresolved specs during Gem::Specification.reset: 
     json (>= 0) 
WARN: Clearing out unresolved specs. 
Please report a bug if this causes problems. 
Could not find differ-0.1.2 in any of the sources 
Run `bundle install` to install missing gems. 

Фактические драгоценные камни, которые показывают в этом сообщении об ошибке варьируется в зависимости от Gemfile в текущем каталоге.

Бег bundle exec mygem подавляет часть сообщения об ошибке, но по-прежнему не удается выполнить, если bundle install не запускается на Gemfile в другого приложения:

Could not find differ-0.1.2 in any of the sources 
Run `bundle install` to install missing gems. 

Как это можно исправить?

ответ

0

Ошибка выглядит довольно типично. Он говорит, что не может найти драгоценный камень в вашем gemfile, который загружает ваши зависимости. Обычно bundle install добавляет их все без пробников, но раньше у меня были такие проблемы, и мне пришлось вручную вводить записи в gemfile.

В случае, если вы делаете пример, попробуйте добавить к Gemfile:

gem 'differ' 
+0

Проблема в том, что он уже там – Drew

+0

@Drew Вы уже проверили другие сообщения на аналогичных/те же сообщения об ошибках ? Был быстрый поиск в Google и нашел много вопросов/ответов. Это может быть ваш переулок: http://stackoverflow.com/questions/17936340/unresolved-specs-during-gemspecification-reset – Andrew