74

私が行うたびに、bundle installすべての宝石がインストールされます

app_dir/vendor/bundle

パスと大量のディスク容量を消費します。また、これにより開発中にインストールする必要がある場所、つまりgemsetsにgemをインストールしようとしました:

bundle install --no-deployement

しかし、これは私には機能せず、で宝石をインストールしていvendor/bundleます。すべてのアプリケーションに対してグローバルに、または ruby​​ gemsets の場所にインストールするにはどうすればよいですか? 私も削除してみ.bundle/configましたが、何も変わりませんでした。

私は使っている:

rvm version: 1.23.14
ruby version: 2.0.0-p247
rails 3.2.13

これが私のもの~/.bash_profileです:

export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
eval "$(rbenv init -)"
alias pg='pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log'

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

私の~/.bashrc

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting

必要なその他の情報:

aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ which bundle
/Users/aman/.rvm/gems/ruby-2.0.0-p247@global/bin/bundle

aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ rbenv which bundle
/Users/aman/.rbenv/versions/2.0.0-p247/bin/bundle

amandeep@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ rbenv which ruby
/Users/aman/.rbenv/versions/2.0.0-p247/bin/ruby

aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ rbenv gemset active
rbenv: NO such command `gemset'

aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ which rails
/Users/aman/.rvm/gems/ruby-2.0.0-p247@global/bin/rails

私もこれを試しましたが、助けにはなりませんでした:

bundle install --system

.bundleディレクトリを削除します。

vendor/bundleジェムセット以外またはデフォルトの場所にジェムをインストールするのを手伝ってください。

4

6 に答える 6

114

プロジェクト フォルダには.bundle、 の構成を保持するディレクトリがありますbundler。そのフォルダを削除してみてください。gem のインストール パスをシステム全体の設定にリセットする必要があります。

インストール パスを編集したいだけの場合は.bundle/config、お気に入りのエディタで開くと へのパスが表示されますvendor/bundle。その行を削除すると、他の構成を削除せずにデフォルトに復元されます。

また、頻度の低いもう 1 つのシナリオは、システム全体の設定が台無しになっていることです。@NaoiseGoldenによると:

.bundleホーム フォルダ (rm -rf ~/.bundle)から削除する必要がありました。実行中の構成をチェックアウトできますbundle env

于 2013-11-13T20:44:29.407 に答える
32

を使ってインストールしてみる

bundle install --system

最初はバンドルのインストールが--pathフラグ付きで実行され、バンドラーはその構成を記憶していると思います。

バンドラーのマニュアルページから

一部のオプションは、bundle install の呼び出し間、および Bundler ランタイムによって記憶されます。

bundle install への後続の呼び出しは、最初に--pathに渡されたディレクトリに gem をインストールします。Bundler ランタイムは、その場所で gem を探します。bundle install --systemを実行すると、このオプションを元に戻すことができます。

編集:以下のコメントで述べたように、またそうでなければ、これはgemsシステム全体をインストールします。rvm などを使用してさまざまなアプリの環境を管理している場合は、上記の @IuriG の回答を確認してください。

于 2013-11-13T19:16:07.913 に答える
13
  1. bundle envパスとバンドル構成を表示するために使用します

  2. この後、バンドル パスを ~/.rvm/gems/ruby-2.0.0-p247次のように設定します。

    bundle install --path ~/.rvm/gems/ruby-2.0.0-p247
    

    これはグローバルであり、独自のカスタム パスを使用することもできます。

  3. これを投稿すると、bundle install二度と必要なくなりpath、その中にすべての宝石が常にインストールされますdirectory(~/.rvm/gems/ruby-2.0.0-p247 in my caseapp_folder/vendor/bundle

于 2013-11-15T05:53:38.113 に答える
7

実行してみてくださいbundle env。これにより、パス構成がどこに設定されているかがわかります。

于 2013-11-14T10:59:30.767 に答える
2

まず、あなたの情報によると、rvm と rbenv の両方がインストールされているようです。それは非常に悪い考えです。それらの1つを削除する必要があります(rbenv + bundlerは私にとって魅力のように機能しますが、rvmを試しませんでした)。

プロジェクトの質問チェックに関しては、.bundle/configそのプロジェクトへのバンドルのすべての構成がそこにあるためです(まだ削除されている場合は、新しいものを作成できます)。この行を追加 (または、既に存在する場合は変更) することをBUNDLE_DISABLE_SHARED_GEMS: '0'お勧めします。gem を共有するにBUNDLE_PATH:は、設定した場所に移動します (BUNDLE_PATH: vendor私の場合)。

グローバル構成ファイルについては、~/.bundle/config

また、このマニュアルページも役立つ可能性があります: bundle config

于 2014-03-17T06:05:33.470 に答える