私は実行可能ファイルで構築した宝石を持っています。実行可能ファイルは、私のレポのbin
ディレクトリの下にあり、それはgemspecファイルに定義されています。私はこれを追加するしかしパスに宝石のバイナリを設定するには?
$ ls /Users/myuser/.gems/gems/my_gem-1.0.0/
bin/ lib/
$ ls /Users/myuser/.gems/gems/my_gem-1.0.0/bin/
my_gem*
:実行ファイルも正しくインストールされている宝石をインストールした後
spec.executables << 'my_gem'
私はmy_gem
またはbundle exec my_gem
の行に沿って何かを実行して、cliから実行可能ファイルを実行することができます。
これを行うには、何を私のgemspecファイルに追加する必要がありますか?ここで
は私のRubyのバージョンであり、ルビーは、バージョンをGEMS:ここ
$ ruby -v
ruby 2.1.1p76
$ gem -v
2.2.2
は私の宝石ENVです:
$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 2.2.2
- RUBY VERSION: 2.1.1 (2014-02-24 patchlevel 76) [x86_64-darwin15.0]
- INSTALLATION DIRECTORY: /Users/myuser/.gems
- RUBY EXECUTABLE: /Users/myuser/.rbenv/versions/2.1.1/bin/ruby
- EXECUTABLE DIRECTORY: /Users/myuser/.gems/bin
- SPEC CACHE DIRECTORY: /Users/myuser/.gem/specs
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-15
- GEM PATHS:
- /Users/myuser/.gems
- /Users/myuser/.gem/ruby/2.1.0
- /Users/myuser/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- :sources => ["https://rubygems.org/", "https://my.org.url/artifactory/api/gems/gem-public/"]
- REMOTE SOURCES:
- https://rubygems.org/
- https://my.org.url/artifactory/api/gems/gem-public/
- SHELL PATH:
- /Users/myuser/.rbenv/versions/2.1.1/bin
- /usr/local/Cellar/rbenv/1.0.0/libexec
- /Users/myuser/.rbenv/shims
- /Users/myuser/.rbenv/bin
- /usr/local/bin
- /usr/bin
- /bin
- /usr/sbin
- /sbin
奇妙なことは、私はすでに私が使用して作成した別の宝石でこれをしようとしたことですgem tutorialとそれはうまく動作します。
更新:何らかの理由でこれをデバッグすると、bin/my_gem
ファイルの代わりにlib/my_gem.rb
ファイルが実行されています。
あなたはには何も追加する必要はありませんあなた'gemspec'、これはすでに動作するはずです。あなたはRubyをどのようにインストールしましたか?これがうまく動作しない場合は、 '$ PATH'にgem binディレクトリがない可能性があります。 '$ gem env'の結果も役に立ちます。 – matt
私はrbenvを知りませんが、gemをインストールした後に '$ rbenv rehash'を実行する必要があるかもしれません。 – matt