2017-10-02 6 views
0

私はルビーの宝石を作りましたが、ターミナルから実行できるように実行可能にする必要があります。私はgoogledとbin/ディレクトリ内のファイルを作成する必要があることを発見し、私のライブラリを必要とし、私はそれから必要なものを呼び出します。また、私はchmod +x bin/myfileを実行可能にしようとしましたが、何もしませんでした。基本的に、私はこれに従いましたlinkしかし何も働かなかった。 binディレクトリにルビーの宝石を実行可能にする

、私は次のようである私の新しく作成されたファイルと一緒にすでにconsolesetup持っている:私はしようと

spec.files   = `git ls-files -z`.split("\x0").reject do |f| 
    f.match(%r{^(test|spec|features)/}) 
    end 
spec.bindir  = "exe" 
spec.executables = spec.files.grep(%r{^bin/}) { |f| f[3..-1] } 
spec.require_paths = ["lib"] 

いつでも:

#!/usr/bin/env ruby 

require "sys_libs" 
s = SysLibs 

をここ.gemspecファイルです実行可能ファイルを変更すると、私は失敗したビルドに悩まされます。これまで何も分からなかったのですか?

答えて

2

spec.bindir = "exe"属性はspec.bindir = 'bin'である必要があります。

spec.bindir  = 'bin' 
spec.executables = ['myfile'] 

bindir is optionalそれはrubygems/specifications.rb にデフォルトで設定と実行可能ファイルの一覧でprepended to each executableですので、あなたが、binサブディレクトリにあなたの実行可能ファイルを配置する場合。

+0

それは働いた。もっと説明をしていただけますか? – omarsafwany

+0

@omarsafwany私はより詳細な説明を含めるために私の答えを改訂しました。 –

関連する問題