2014-04-01 8 views
0

나는 창조 한 다른 보석에 달려있는 보석을 쓰고있다. 내 gemfile은 다음과 같습니다 주문 보석을 요구하는 방법

$:.push File.expand_path('../lib', __FILE__) 

Gem::Specification.new do |s| 
    s.require_path = "lib" 
    s.files = Dir["lib/**/*"] 
    s.test_files = Dir["spec/**/*"] 

    s.add_dependency "my_other_gem" 
end 

:

source "http://rubygems.org" 

gem 'my_other_gem' path: '../my_other_gem', require: 'my_other_gem' 

gemspec 

을 그리고 호스트 보석 안에, 내가했습니다 내 호스트 보석에서

, 나는 이런 종속성으로 내 보석을 필요로 해요 난, my_other_gem에서

require 'my_other_gem'

: my_other_gem을 필요로하는 클래스를 가지고 옆면 lib/my_other_gem.rb, 두 가지 더 클래스가 필요합니다. 그래서 다음과 같습니다 : 나는 내가 my_other_gem 디렉토리와 I에서 놀고있을 때 나는이 오류

LoadError: cannot load such file -- my_other_gem

를 얻을 호스트 응용 프로그램에서 IRB를 회전하고 require 'my_other_gem'을 실행

require 'my_other_gem/foo' 
require 'my_other_gem/bar' 

IRB를 스핀 업하면 동일한 require 'my_other_gem' 명령이 오류를 발생시키지 않습니다. 모든 것이 정상적으로 실행됩니다. 그러나 어떤 이유로 호스트 주옥에있을 때 my_other_gem을 요구할 수 없습니다.

어떤 단계가 빠져 있습니까?

+0

호스트 응용 프로그램에서 '번들 설치'의 결과는 무엇입니까? 'my_other_gem'을 제대로 찾았습니까? – ouranos

+0

또한 Gemfile에 오타가있을 수 있습니다. 'gem'my_other_gem 'path :'../my_other_gem '이어야합니다. require :'my_other_gem'' – ouranos

+0

오타에 대한 의견을 보내 주셔서 감사합니다. 내 게시물에 누락 된 콜론을 추가했습니다. –

답변

1

어떻게 시작 하시겠습니까? irb? 너는 bundle exec으로 bundler 컨텍스트에서 실행해야한다.

방금 ​​시도했는데 방금 irb을 실행하면 동일한 오류가 발생합니다. 그러나 bundle exec irb을 실행하면 작동합니다.

+0

네. 그게 전부 야. 나는 방금 거칠었다. 번들 exec로 실행해야합니다. 당신의 도움을 주셔서 감사합니다! –

관련 문제