2012-11-25 18 views
10

gemをインストールせずに、普通のルビースクリプトからローカルの宝石を参照する必要があります。 ruby​​スクリプトからローカルの宝石を参照するには?

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

、スクリプトは次のようになります: How to refer a local gem in ruby?の歩道で、私は次のセットアップでGemfileを作成しようとした

bundle exec ruby script.rb 

:私はこれを実行すると

require 'custom_gem' 
CustomGem::Do.something 

私は得る:

script.rb:1:in `require': cannot load such file -- custom_gem (LoadError) from script.rb:1:in `<main>' 

私はrequire 'custom_gem'を省略した場合、私が手:

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

は私もバンドラなしで試してみました、とばかりスクリプト自体ではなく、結果なしgem ... :path =>̣ ...を書きます。宝石をローカルにインストールせずに、ルビースクリプトからカスタム宝石を参照する他の方法はありますか?

答えて

10

# Gemfile 

source "https://rubygems.org" 

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

は、スクリプトがすべき、実際にその後バンドラ

bundle install 

を使用して、この宝石をインストールすることを忘れないでください(例えばcustom_gem)確認Gemfileと同じように、あなたの宝石名ことを確認してください使用する準備ができましたbundle exec ruby script.rb

# script.rb 

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

綴りエラーがありました。他の何かが必要ですスクリプト内の宝石ありがとう! – tohokami

関連する問題