Когда я запускаю программу командной строки perl raku, в текущем рабочем каталоге появляется каталог lib - как мне это предотвратить? - PullRequest
5 голосов
/ 26 марта 2019

Когда я запускаю программу командной строки perl raku, в текущем рабочем каталоге появляется каталог lib (и файлы precomp) - как я могу предотвратить / избежать этого?

Ответы [ 2 ]

3 голосов
/ 26 марта 2019

Rakudo Perl 6 использует цепочку репозиториев для загрузки модулей.Если вы загрузите модуль, а его нет в верхнем репозитории, он будет выглядеть в следующем и т. Д.

Он также прекомпилирует модули для более быстрой загрузки при их втором использовании.

Как правило, если вы устанавливаете модуль, он будет использоваться один раз таким образом, что его файл предварительной компоновки будет помещен в репозиторий, в котором он установлен.
Если его там нет, когда вы собираетесь использовать его новымбудет создан.
Поскольку он не обязательно знает, на какие другие модули он опирается, этот файл предварительной компоновки всегда помещается в начало цепочки хранилища.

Так что у вас, очевидно, есть модуль, который не 'у него есть предварительная компиляция, и у вас есть ./lib в верхней части цепочки репозитория.

Это может быть PERL6LIB, аргумент командной строки -I или строка use lib './lib'; вВаш код.

Вы можете попробовать переустановить модуль, чтобы проверить, не остановит ли он его.

3 голосов
/ 26 марта 2019

Почему вы хотите это сделать?По сути, это файлы предварительной компиляции, которые впоследствии будут использоваться при повторном запуске.Вы можете предотвратить добавление их в репозиторий, добавив .precomp в ваш файл .gitignore, но это полезные файлы, присущие запуску Perl 6. Как указано в в этом ответе , это может быть связано сдо . включается в переменную PERL6LIB.Вы можете удалить его оттуда, чтобы предотвратить это в текущем каталоге.Это все еще может случиться где-то еще.

...