Подтвердить что ты не робот

Просмотр исходного кода драгоценного камня

Ruby dabbler/новичок здесь, кто не знаком с экосистемой, поэтому приносите извинения, если это один из тех вопросов супер-духа.

Есть ли способ просмотреть все файлы и/или исходный код, установленные камнем? То есть, я просто запустил

$ gem install sass

И камень sass теперь является частью моей локальной системы

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

Я хочу знать, что команда gem install помещала в мою систему. Есть ли команда, которую я могу запустить, чтобы увидеть все файлы, установленные в gem?

После некоторых поисковых запросов, man gem и gem help commands, я обнаружил команду contents.

$gem contents sass

Однако, когда я запускаю эту команду с вышеупомянутым сассовым камнем, я получаю следующие результаты

.../.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

Однако этот список кажется неполным, поскольку я знаю, что есть файлы в

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

Почему contents не показывает файлы из lib?

Возможно ли установить установщик gem для установки файлов за пределами папки gems?

Есть ли команда, которая может показать все, установленную камнем?

4b9b3361

Ответ 2

Есть два действительно хороших способа сделать это. Есть еще один камень, который позволяет вам открыть драгоценный камень и отредактировать его. Этот драгоценный камень называется gem-open

gem install gem-open 

то

gem open sass

Другой способ - создать свои собственные rdocs.

gem rdoc sass

Затем вы можете посмотреть свои rdocs на

gem server

Также, если вы используете rvm, вы можете ввести rvm info, и он покажет местоположение GEM_HOME. Это будет весь исходный код вашего драгоценного камня.

cd $GEM_HOME
cd gems/sass-3.1.2/

Update:

Именно так я в основном делаю это сейчас, когда использую bundler.

cd $(bundle show sass) 

Это будет версия sass в вашем Gemfile.

Ответ 3

Вы упомянули каталог lib/для версии 3.1.2. gem contents без --version будет просто перечислять одну версию (она, кажется, выбирает самую новую версию, но я не могу проверить, что это всегда верно). Какой результат вы получаете за gem contents --version 3.1.2 sass?

Ответ 4

Я обычно открываю камень, запуская эту команду с консоли

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

Ответ 6

В дополнение к gem contents другая команда, которую вы можете найти полезной, - gem environment. Если у вас есть несколько путей для установки драгоценных камней, все они будут перечислены под меткой "GEM PATHS".