我知道在使用gem install
時,gem將被存儲在/home/username/.rvm/gems/下,在該gemset下安裝gem。打包商在哪裏存儲寶石?
但是,如果我使用Bundler並在Gemfile中指定gem,那麼當我運行bundle install時,那些gem將被存儲在哪裏?如果我已經安裝了使用gem install
的gem,如果我運行bundle install,它會使用以前使用gem install
安裝的gem嗎?
我知道在使用gem install
時,gem將被存儲在/home/username/.rvm/gems/下,在該gemset下安裝gem。打包商在哪裏存儲寶石?
但是,如果我使用Bundler並在Gemfile中指定gem,那麼當我運行bundle install時,那些gem將被存儲在哪裏?如果我已經安裝了使用gem install
的gem,如果我運行bundle install,它會使用以前使用gem install
安裝的gem嗎?
這取決於。在通常的開發環境中,他們安裝在「正常」安裝gem的位置(通過運行gem install foo
),並且bundler不會重新安裝已存在的gem。這個位置取決於rubygems本身的配置。
如果您運行bundle與--deployment
選項,則寶石將被安裝在專屬於您的應用程序的位置安裝(你可以通過這個作爲一個單獨的選項,但默認爲供應商/束)
你也可以運行bundle package
以存儲您的應用在vendor/cache
中使用的所有.gem文件。運行bundle install
會將供應商/緩存中的寶石選爲其他位置的寶石。
這裏/usr/local/lib/ruby/gems/2.1.0/gems/
和這裏:/usr/local/lib/ruby/gems/2.1.0/bundler/gems/
。
我想這隻適用於某些操作系統 – 2015-09-17 19:53:34
你知道bundler如何決定哪個目錄下的哪個gem? – 2015-11-13 18:10:08
如果你想找出一個特定的寶石存儲在哪裏,你可以運行bundle show <gem-name>
。例如:
[email protected]$ bundle show rake
/var/bundle/ruby/2.1.0/gems/rake-10.4.2
這是否意味着所有的寶石都安裝在你的紅寶石上? – Jwan622 2016-04-07 22:34:23
'bundle show' –
Chowlett
2012-07-24 16:17:03
謝謝,我完全忘了那個命令。 – maru 2012-07-24 16:24:06