2012-05-04 8 views
42

Ruby dabbler/newbie ở đây không quen thuộc với hệ sinh thái, vì vậy xin lỗi nếu đây là một trong những câu hỏi siêu duh đó.Xem mã nguồn của đá quý

Có cách nào để xem tất cả các tệp và/hoặc mã nguồn được cài đặt bằng đá quý không? Đó là, tôi chỉ cần chạy

$ gem install sass 

Và viên ngọc sass bây giờ là một phần của hệ thống địa phương của tôi

$ gem list --local 
... 
sass (3.1.16, 3.1.2) 
... 

Tôi muốn biết những gì các lệnh gem install đặt trên hệ thống của tôi. Có lệnh nào tôi có thể chạy để xem tất cả các tệp được cài đặt bằng đá quý không?

Sau một số googling, man gemgem help commands, tôi đã phát hiện ra lệnh contents.

nội dung $ ngọc Sass

Tuy nhiên, khi tôi chạy lệnh này với các viên ngọc sass nói trên, tôi nhận được kết quả như sau

.../.rvm/gems/ruby-1.9.2-p180/gems/sass-3.1.16/test/sass/engine_test.rb 
.../.rvm/gems/ruby-1.9.2-p180/gems/sass-3.1.16/test/sass/functions_test.rb 
.../.rvm/gems/ruby-1.9.2-p180/gems/sass-3.1.16/test/sass/extend_test.rb 
.../.rvm/gems/ruby-1.9.2-p180/gems/sass-3.1.16/test/sass/logger_test.rb 
.../.rvm/gems/ruby-1.9.2-p180/gems/sass-3.1.16/test/sass/css2sass_test.rb 
.../.rvm/gems/ruby-1.9.2-p180/gems/sass-3.1.16/test/sass/conversion_test.rb 
.../.rvm/gems/ruby-1.9.2-p180/gems/sass-3.1.16/test/sass/script_test.rb 
.../.rvm/gems/ruby-1.9.2-p180/gems/sass-3.1.16/test/sass/util/subset_map_test.rb 
.../.rvm/gems/ruby-1.9.2-p180/gems/sass-3.1.16/test/sass/util/multibyte_string_scanner_test.rb 
.../.rvm/gems/ruby-1.9.2-p180/gems/sass-3.1.16/test/sass/callbacks_test.rb 
.../.rvm/gems/ruby-1.9.2-p180/gems/sass-3.1.16/test/sass/importer_test.rb 
.../.rvm/gems/ruby-1.9.2-p180/gems/sass-3.1.16/test/sass/scss/css_test.rb 
.../.rvm/gems/ruby-1.9.2-p180/gems/sass-3.1.16/test/sass/scss/scss_test.rb 
.../.rvm/gems/ruby-1.9.2-p180/gems/sass-3.1.16/test/sass/scss/rx_test.rb 
.../.rvm/gems/ruby-1.9.2-p180/gems/sass-3.1.16/test/sass/util_test.rb 
.../.rvm/gems/ruby-1.9.2-p180/gems/sass-3.1.16/test/sass/script_conversion_test.rb 
.../.rvm/gems/ruby-1.9.2-p180/gems/sass-3.1.16/test/sass/less_conversion_test.rb 
.../.rvm/gems/ruby-1.9.2-p180/gems/sass-3.1.16/test/sass/cache_test.rb 
.../.rvm/gems/ruby-1.9.2-p180/gems/sass-3.1.16/test/sass/plugin_test.rb 
.../.rvm/gems/ruby-1.9.2-p180/gems/sass-3.1.16/bin/sass 
.../.rvm/gems/ruby-1.9.2-p180/gems/sass-3.1.16/bin/sass-convert 
.../.rvm/gems/ruby-1.9.2-p180/gems/sass-3.1.16/bin/scss 

Tuy nhiên, danh sách này có vẻ không đầy đủ như tôi biết có những tệp trong

.../.rvm/gems/ruby-1.9.2-p180/gems/sass-3.1.2/lib/ 

Tại sao contents không hiển thị các tệp từ lib?

Trình cài đặt gem có thể cài đặt tệp bên ngoài thư mục đá quý không?

Có lệnh nào có thể hiển thị mọi thứ được cài đặt bằng đá quý không?

+0

Đây là kết quả đầu ra tôi nhận được với 'nội dung đá quý sass': https://gist.github.com/2598534 - tất cả hiện tại và chính xác. – matt

+0

@matt Bạn có biết nội dung đá quý nào đọc và/hoặc những gì có thể khiến nó thất bại trên máy tính của tôi không? –

+0

Rất tiếc, tôi không biết điều gì gây ra điều này. Có lẽ bạn có thể thử gỡ bỏ và cài đặt lại đá quý. – matt

Trả lời

34

Có hai cách thực sự tốt để làm điều này. Có một viên ngọc khác cho phép bạn mở đá quý và chỉnh sửa. đá quý này là gọi gem-open

gem install gem-open 

sau đó

gem open sass 

Một cách khác là tạo rdocs của riêng bạn.

gem rdoc sass 

Sau đó bạn có thể nhìn vào rdocs của bạn bằng cách

gem server 

Ngoài ra nếu bạn đang sử dụng RVM, bạn có thể gõ rvm info và nó sẽ hiển thị GEM_HOME địa điểm. Đây sẽ là nơi tất cả mã nguồn của đá quý của bạn.

cd $GEM_HOME 
cd gems/sass-3.1.2/ 

Cập nhật:

Đây là cách tôi chủ yếu làm này ngay bây giờ, khi sử dụng bundler.

cd $(bundle show sass) 

Đây sẽ là phiên bản sass trong Gemfile của bạn.

+2

Là một người dùng RVM, cd $ GEM_HOME hoạt động tuyệt vời – emery

7

Thư mục lib/bạn đã đề cập là dành cho phiên bản 3.1.2 của đá quý; gem contents mà không cần --version sẽ chỉ liệt kê một phiên bản (dường như chọn phiên bản mới nhất, nhưng tôi không thể xác minh điều này luôn đúng). Bạn nhận được kết quả gì cho gem contents --version 3.1.2 sass?

+0

Ah, 1 cảm ơn vì điều đó, tôi đã không nhận ra có hai phiên bản ở đó (như tôi đã nói, newbie) Tuy nhiên, cả nội dung đá quý sass --version 3.1.16 và nội dung đá quý sass --version 3.1.2 không liệt kê nội dung của các thư mục lib tương ứng của chúng, và nó (xuất hiện) thư mục lib là những gì làm cho chúng hoạt động –

+0

Tôi vừa cài đặt cả hai phiên bản của sass và tôi chắc chắn có thể thấy thư viện/thư mục được liệt kê cho mỗi thư mục. Hy vọng rằng cài đặt lại đá quý, như matt nói, sẽ giúp đỡ. – echristopherson

8

Tôi thường mở một viên ngọc bằng cách chạy lệnh này từ giao diện điều khiển

EDITOR=<your editor> bundle open <name of gem> 
1

Ngoài gem contents, một lệnh bạn có thể thấy hữu ích là gem environment. Nếu bạn có nhiều đường dẫn để cài đặt đá quý, tất cả chúng sẽ được liệt kê dưới nhãn "GEM PATHS".