Ich habe ein Juwel, das ich mit einer ausführbaren Datei erstellt habe. Die ausführbare Datei ist unter dem bin
Verzeichnis meiner Repo- und es ist in der gemspec-Datei definiert:Wie setze ich eine Edelstein-Binärdatei in den Pfad?
spec.executables << 'my_gem'
Nach dem Juwel der Installation die ausführbare Datei auch korrekt installiert ist:
$ 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*
Jedoch habe ich diese hinzufügen möchten ausführbar in dem Pfad, so kann ich etwas in den Zeilen von my_gem
oder bundle exec my_gem
ausführen, um die ausführbare Datei von der CLI auszuführen.
Was muss ich zu meiner Gemspec-Datei hinzufügen, um dies zu tun?
Hier ist meine Ruby-Version und Rubin Edelsteine Versionen:
$ ruby -v
ruby 2.1.1p76
$ gem -v
2.2.2
Hier ist mein Juwel 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
Die seltsame Sache ist, dass ich das schon mit einem anderen Stein habe ich versucht, mit erstellt die gem tutorial und das funktioniert gut.
Update: Wenn diese Debuggen aus irgendeinem Grund läuft die lib/my_gem.rb
Datei anstelle der bin/my_gem
Datei.
Sie brauchen nichts hinzufügen, um Ihr 'Gemspec', das sollte schon funktionieren. Wie hast du Ruby installiert? Wenn dies nicht funktioniert, haben Sie wahrscheinlich nicht das Verzeichnis "gem bin" auf Ihrem "$ PATH". Die Ergebnisse von $ edgem env wären ebenfalls hilfreich. – matt
Ich kenne rbenv nicht, aber ich _think_ müssen Sie '$ rbenv rehash' nach der Installation des Edelsteins ausführen. – matt