40

私はoh-my-zshを使用plugins=(git bundler)してい.zshrcます。したがって、binstub を生成するためのバンドラーは必要ありません。しかし、とにかくバンドラーはそれを行います。

➜バンドル
レーキの使用 (0.9.2.2)
...
バンドルが完成しました!バンドルされた gem がインストールされている場所を確認するには、「bundle show [gemname]」を使用します。
✗ ls ビン
erubis haml nokogiri rails rake2thor rdoc resque-web sass scss thor tt
ガード html2haml ラックアップ レーキ rdiscount resque ri sass-convert シン チルト

binstub が生成されたのはなぜですか -- それらを要求するオプションを渡しませんでした。少なくとも、私はそうではないと思います:

➜ バンドル
/Users/david/.rbenv/shims/bundle
➜ 猫 /Users/david/.rbenv/shims/bundle
#!/usr/bin/env bash
セット-e
export RBENV_ROOT="/Users/david/.rbenv"
exec rbenv exec "${0##*/}" "$@"

私も何も持っていません~/.bundle/config

望ましくないビンスタブにカボッシュを置くのを手伝ってください!

4

3 に答える 3

91

Bundler は、アプリケーションごとに binstub を生成します。過去のある時点で実行した場合bundle install --binstubs、Bundler はそれを記憶し、再度インストールを実行するたびに binstub を生成します。それらを無効にするには、 run bundle install --no-binstubs、または run のいずれかを実行できますrm -rf .bundle/config。いずれにせよ、それは binstub 生成を無効にします。

于 2012-07-26T19:37:28.547 に答える
3

ファイルを変更した後もまだ binstubs を取得している場合は$HOME/users/.bundle/config、どこかに別の構成がある可能性が高くなります。次のコマンドを実行する場所を把握するために

$ bundle config
Settings are listed in order of priority. The top value will be used.
gem.coc
Set for the current user (/Users/username/.bundle/config): "true"

gem.mit
Set for the current user (/Users/username/.bundle/config): "true"

gem.test
Set for the current user (/Users/username/.bundle/config): "rspec"

build.libv8
Set for the current user (/Users/username/.bundle/config): "--without-system-v8"

disable_multisource
Set for the current user (/Users/username/.bundle/config): "true"

bin
Set for your local app (/Users/username/apps/ruby/rails_application/.bundle/config): "bin"
Set for the current user (/Users/username/.bundle/config): "false"

あなたが探しているのはbin情報です。この情報は、構成情報を含むファイルへのパスを提供します。これを修正するためにできることは、構成ファイルに移動して、それを示す行を削除するBUNDLE_BIN: binか、bundle bin を false に変更することですBUNDLE_BIN: 'false'

vi /Users/username/apps/ruby/rails_application/.bundle/config

再度実行するbundle configと、bin 構成が表示されないか、false に設定されていることがわかります。この例では、私のものを false に設定しているので、この新しい結果が得られます。

bin
Set for your local app (/Users/username/apps/ruby/gscs_ci/.bundle/config): "false"
Set for the current user (/Users/username/.bundle/config): "false"

ただし、バンドルに応答する各 Ruby アプリケーションは、独自のカスタム .bundle/config を持つことができます。

すべてを更新する.bundle/configと、Rubybundleまたはbundle install

false がディレクトリであると思われる場合があるため、BUNDLE_BINより単純な行を削除する方がよい場合があります。

于 2016-02-25T19:12:04.790 に答える