![](/img/trans.png)
[英]How do I get Ivy to copy the dependencies to the lib directory when using it from the command line?
[英]When I run a perl raku command line program a lib directory appears in the current working directory - how do I prevent this?
当我运行perl raku命令行程序时,lib目录(和precomp文件)出现在当前工作目录中 - 如何防止/避免这种情况?
你为什么想这么做? 它们实际上是预编译文件,稍后再次运行时将使用这些文件。 您可以通过将.precomp
添加到.gitignore
文件来阻止将它们添加到存储库,但它们是运行Perl 6所固有的有用文件。如本答案所示 ,这可能是由于.
包含在PERL6LIB变量中。 您可以从那里删除它以防止在当前目录中发生这种情况。 但它仍然可能发生在其他地方。
Rakudo Perl 6使用一系列存储库来加载模块。 如果您加载模块并且它不在顶层存储库中,它将查看下一个模块,依此类推。
它还将预编译模块,以便在第二次使用时加快加载速度。
通常,如果您安装模块,它将使用一次,使其precomp文件将放置在安装它的存储库中。
如果你去使用它不在那里,将创建一个新的。
由于它不一定知道它所依赖的其他模块,因此该precomp文件始终位于存储库链的头部。
所以你显然有一个没有precomp的模块,并且你的存储库链顶部有./lib
。
它可以是PERL6LIB
, -I
命令行参数,或者use lib './lib';
代码中的一行。
您可以尝试重新安装模块,看看是否会阻止它发生。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.