Наверху файла большинство (но не все) дескриптор языков импортирует этот путь. Я нахожу его намного более чистым и легче обработать их этот путь.
я думаю, что это только имеет смысл, этот путь действительно... как Вы получает середину пути в файле тогда:
class Foo
def initialize(init_value)
@instance_var = init_value
# some 500 lines of code later....
end
end
class Bar
# oh look i need an import now!
require 'breakpoint'
, как Вы видите, было бы очень трудно отследить их. Не говоря уже о том, если бы Вы хотели использовать импортированные функции ранее в Вашем коде , то необходимо было бы, вероятно, отследить в обратном порядке и включать его снова, потому что другой импорт будет характерен для того класса. Импорт тех же файлов создал бы много издержек во время времени выполнения также.
Самый надежный способ - использовать chroot: пусть "make install" запускается внутри chroot jail; вычислите список файлов, которые у вас были до установки, и сравните его со списком файлов после установки.
Многие установки будут поддерживать либо параметр конфигурации --prefix, и / или переменную среды DESTDIR. Вы можете использовать их для более легкой версии chroot (полагая, что установка не удастся, если она попытается выполнить запись в место за пределами этого места, если вы запустите установку от имени довольно непривилегированного пользователя).
Другой подход - заменить установку программа. Многие пакеты поддерживают переменную среды INSTALL, которая, собственно, и является программой установки; существуют версии отслеживания установки.
Он отличается для каждого проекта, в котором вы запускаете make install. Устанавливаемые файлы контролируются целью установки в используемом Makefile. Лучше всего открыть Makefile и выполнить поиск по запросу «install:» - оттуда вы увидите, какие файлы будут скопированы в вашу систему.