2013-07-23 17 views
5

Używam RVM z rubinem na szynach, kiedy robię bundle install, to pokazuje dużo więcej klejnotów niż kiedy robię gem list? Coś związanego z rvm i jaką ścieżkę używa?Rvm i klejnoty, lista pakietów i lista klejnotów

pakiet zainstalować

[email protected]:~/staging$ bundle 
Using rake (0.9.6) 
Using Ascii85 (1.0.1) 
Using Platform (0.4.0) 
Using open4 (1.3.0) 
Using POpen4 (0.1.4) 
Using activesupport (2.3.17) 
Using rack (1.1.6) 
Using actionpack (2.3.17) 
Using actionmailer (2.3.17) 
Using activerecord (2.3.17) 
Using activeresource (2.3.17) 
Using acts_as_audited (1.1.1) 
Using addressable (2.2.8) 
Using builder (3.0.0) 
Using gyoku (1.0.0) 
Using nokogiri (1.5.6) 
Using akami (1.2.0) 
Using ar-extensions (0.9.5) 
Using cgi_multipart_eof_fix (2.5.0) 
Using chunky_png (1.2.5) 
Using cocaine (0.2.1) 
Using coderay (1.0.9) 
Using fssm (0.2.9) 
Using sass (3.1.18) 
Using compass (0.12.1) 
Using daemons (1.1.9) 
Using warden (0.10.7) 
Using devise (1.0.6) 
Using fastimage (1.2.13) 
Using html_compressor (0.0.3) 
Using rubyzip (0.9.8) 
more gems...... 
Your bundle is complete! 
It was installed into ./vendor/bundle 

lista gem

[email protected]:~/staging$ gem list 

*** LOCAL GEMS *** 

actionmailer (2.3.17) 
actionpack (2.3.17) 
activerecord (2.3.17) 
activeresource (2.3.17) 
activesupport (2.3.17) 
bundler (1.3.5) 
bundler-unload (1.0.1) 
daemon_controller (1.1.4) 
fastthread (1.0.7) 
passenger (3.0.19) 
rack (1.5.2, 1.1.6) 
rails (2.3.17) 
rake (10.1.0) 
rubygems-bundler (1.2.2) 
rvm (1.11.3.8) 

Odpowiedz

1

przed wykonaniem gem list koniecznie używać gemset aplikacji:

rvm use [email protected]_gemset 
gem list 

Pamiętaj, aby ponownie umieścić application_ruby z twoją wersją ruby ​​ciąg i application_gemset do gemset, który jest używany przez aplikację szyn

+0

Lista klejnotów wciąż pokazuje inny wynik niż instalacja pakietu – Francois

1

Jest to ukryty katalog o nazwie .bundle w głównym katalogu. Usuń to, a następnie uruchom ponownie pakiet.

2

to się dzieje podczas korzystania bundle install --deployment lub bundle install --path=..., generuje .bundle/config z mniej więcej tak:

--- 
BUNDLE_FROZEN: '1' 
BUNDLE_PATH: vendor/bundle 
BUNDLE_DISABLE_SHARED_GEMS: '1' 

mogło być wykonane przez jednego z was współpracowników lub integracji Bundler/CAPISTRANO:

  1. jeśli to był twój współpracownik, po prostu go usuń i zignoruj:

    rm -rf .bundle 
    echo '.bundle' >> .gitignore 
    
  2. dla Kapistrana rvm-capistrano opisuje jak go =>https://github.com/wayneeseguin/rvm-capistrano#disabling-bundle---deployment-when-using-gemsets

0

wyłączyć Według bundler documentation bieżącego domyślnie w OPS wypadku mogły być ustawione sprzedawca/pakiet, na przykład przez uprzednie wykonanie bundle install --path vendor/bundle:

kolejne polecenia wiązek lub wzywa do Bundler.setup lub Bundler.require zapamięta tę lokalizację

Sprawdź też zawartość $ BUNDLE_PATH który pokazuje, gdzie jest zainstalowany. Uwaga: Możliwe jest również, że został on zainstalowany dla dostawcy/pakietu za pośrednictwem opcji --deployment. Zobacz Deplyment mode 3.

Jak odpowiedział here, gem list pokaże tylko kamienie zainstalowany przy użyciu opcji --system (patrz odpowiedź zaakceptowane i Caspar komentarz); zamiast tego użyj bundle list, aby wyświetlić klejnoty zainstalowane w katalogu aplikacji, tj. poprzez bundle install (bez opcji --system).