2012-11-25 6 views
10

보석을 설치하지 않고 일반 루비 스크립트에서 로컬 보석을 참조해야합니다. How to refer a local gem in ruby?의 흔적에, 나는 다음과 같은 설정으로 Gemfile을 만드는 시도 :루비 스크립트에서 로컬 보석을 참조하는 방법은 무엇입니까?

%w(
    custom_gem 
    another_custom_gem 
).each do |dependency| 
    gem dependency, :path => File.expand_path("../../#{dependency}", __FILE__) 
end 

하고 스크립트는 다음과 같습니다

require 'custom_gem' 
CustomGem::Do.something 

나는 이것을 실행하면 :

bundle exec ruby script.rb 

알겠습니다 :

script.rb:1:in `require': cannot load such file -- custom_gem (LoadError) from script.rb:1:in `<main>' 
나는 require 'custom_gem'을두면 10

, 내가 얻을 :

script.rb:3:in `<main>': uninitialized constant CustomGem (NameError) 

나는하지만 결과없이, 심지어 들러없이 시도하고, 단지 스크립트 자체에 gem ... :path =>̣ ...를 작성. 보석을 로컬에 설치하지 않고 루비 스크립트에서 커스텀 보석을 참조하는 다른 방법이 있습니까?

답변

10

확인 Gemfile에 같은 같은 보석 이름 실제로 들러에게 그 후

bundle install 

을 사용하여이 보석을 설치하는 것을 잊지 마십시오 (예 : custom_gem)

# Gemfile 

source "https://rubygems.org" 

gem "custom_gem", path: "/home/username/path/to/custom_gem" 

, 스크립트가해야 사용할 준비가되었습니다 bundle exec ruby script.rb

# script.rb 

require 'custom_gem' 
CustomGem::Do.something 
+0

그래, 맞춤법 오류가 있었는지, 다른 일이 필요합니다 대본에있는 보석. 감사! – tohokami

관련 문제