特定のgem(spree_cmd)のトラブルシューティングを行い、 "bundle exec"がバイナリの所在を知りたいと思っています。
...bundler/shared_helpers.rb:151:in `bin_path': can't find executable spree.
の場合、echo $PATH
の場合、どこかに "騒ぎ"があります。 which spree
と確認されました。
特定のgem(spree_cmd)のトラブルシューティングを行い、 "bundle exec"がバイナリの所在を知りたいと思っています。
...bundler/shared_helpers.rb:151:in `bin_path': can't find executable spree.
の場合、echo $PATH
の場合、どこかに "騒ぎ"があります。 which spree
と確認されました。
あなたの問題をはっきりと理解することなく、具体的なものを提供することはできません。
bundle exec which some_binary_from_gemfile
バイナリがどこに格納されているのかを調べると、そのバイナリがどこにあるのかがわかります。
docsによると、$BUNDLE_BIN_PATH
という環境変数を設定して独自のbinディレクトリを追加できるようです。
もう1つのことは、すべてのバイナリを含むルートディレクトリにフォルダを作成するbundle install --binstubs
です。
バイナリがパスに追加されていない場合、私が最初に探すのは.gemspecです(specify where the bin directory isとspec.bindir = 'bin'
)。私は現在のspree_cmd gem(0.0.4)で正しいと見える(実行していない)。それが正しいと思われる場合は、バイナリが指定したディレクトリにあることを確認し、実行可能であることを確認し、シバンが正しいことを確認して、呼び出すバイナリと同じ名前が付いていることを確認します。
gemspecの仕様が間違っていました。トラブルシューティングに必要な情報を私に教えてくれてありがとう! – berkes
あなたのGemfileに定義されているか、またはあなたのGemfileのどれかに依存していますか? –
これは私のgemfileで定義されています。 gem 'spree'、:path => '../gems/spree'(ただしgit repoでも構いません)Spreeはバイナリを持つspree_cmdに依存します。問題は、ビンが正しく渡されないエッジスプレーのバグです。私はトラブルシューティングをしようとしています。 – berkes