2009-08-31 4 views
0

Я хочу распространять рубиновый скрипт для многих моих друзей, потому что это полезно. Но как узнать, что еще они могут установить? Я имею в виду в верхней части скрипта, то это:Учитывая рубиновый скрипт, как выяснить, от чего это зависит?

require 'rubygems'  # 
require 'activerecord' #TODO: figure out what packages this depends on 
require 'activesupport' # 
require 'duration'  # 

Это дает мне некоторое представление о том, что они должны установить, но в последний раз я попробовал его на компьютере друга (Linux), каждый из вышеперечисленных оказался чтобы потребовать перемещения пакетов. Например, для activesupport требуется база данных, которая в случае этого скрипта является sqlite3, поэтому мне пришлось установить sqlite3 и кучу lib и, возможно, даже dev-пакетов.

Есть ли какой-либо инструмент или метод для сбора списка всех зависимостей, чтобы я мог включить их в инструкции по установке? Или еще лучше, есть ли способ упаковать их в простой установщик?

ответ

2

Распределите его как драгоценный камень. Драгоценный камень позволяет добавлять зависимости, и если зависимость зависит от нее, система rubygems установит ее для вас.

+0

Но это также установит необходимые неграмотные пакеты, такие как sqlite3? – ulver

1

Если вам требуется активировать запись, вам нужен какой-либо драйвер адаптера activerecord или драгоценный камень, соответствующий db, например. pg, mysql, sqlite-ruby, а также соединение, настроенное для подключения к указанному db.

Всякий раз, когда вы устанавливаете драгоценные камни, используя текущие рубигемы, они будут устанавливать зависимости, а именно, что activerecord немного ... «funny»?