2013-07-23 61 views
5

Tôi đang sử dụng RVM với ruby ​​trên đường ray, khi tôi làm bundle install nó cho thấy một số lượng đá quý nhiều hơn khi tôi làm gem list? Một cái gì đó để làm với rvm và con đường của nó sử dụng?Rvm và đá quý, danh sách bó và danh sách đá quý

bó cài đặt

[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 

danh sách đá quý

[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) 

Trả lời

1

trước khi làm gem list chắc chắn rằng bạn sử dụng gemset của ứng dụng:

rvm use [email protected]_gemset 
gem list 

Hãy chắc chắn để lại đặt application_ruby bằng chuỗi phiên bản ruby ​​của bạn và application_gemset vào bộ đá quý được sử dụng bởi ứng dụng đường ray của bạn

+0

danh sách đá quý vẫn hiển thị kết quả khác với cài đặt gói – Francois

1

Có một thư mục ẩn tên là .bundle trong thư mục gốc của thư mục của bạn. Loại bỏ điều đó, sau đó chạy lại nhóm.

2

điều này xảy ra khi bạn sử dụng bundle install --deployment hoặc bundle install --path=..., nó tạo ra .bundle/config với một cái gì đó như thế này:

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

nó có thể được thực hiện bằng một trong các bạn đồng nghiệp hoặc sự tích hợp bundler/capistrano:

  1. nếu đó là đồng nghiệp của bạn thì chỉ cần xóa và bỏ qua nó:

    rm -rf .bundle 
    echo '.bundle' >> .gitignore 
    
  2. cho capistrano rvm-capistrano mô tả làm thế nào để vô hiệu hóa nó =>https://github.com/wayneeseguin/rvm-capistrano#disabling-bundle---deployment-when-using-gemsets

0

Theo bundler documentation mặc định hiện tại, trong trường hợp ops, có thể đã được thiết lập để cung cấp/bó, ví dụ bởi một thực hiện trước bundle install --path vendor/bundle:

Tiếp tục lệnh bó hay cuộc gọi đến Bundler.setup hoặc Bundler.require sẽ nhớ vị trí này

Ngoài ra kiểm tra nội dung của $ BUNDLE_PATH trong đó cho thấy nơi nó được cài đặt. Lưu ý: Cũng có thể nó đã được cài đặt cho nhà cung cấp/gói thông qua tùy chọn --deployment. Xem Deplyment mode 3.

Khi được trả lời here, gem list sẽ chỉ hiển thị đá quý được cài đặt bằng tùy chọn --system (xem câu trả lời được chấp nhận và bình luận Caspar); sử dụng bundle list thay vào đó, để hiển thị đá quý được cài đặt trong thư mục ứng dụng, tức là thông qua bundle install (không có tùy chọn - hệ thống).