我正试图为我的haxe库创建一些命令,但我遇到了一个问题。事实上,我想在发送命令haxelib run <mylib> <command>
的目录中生成一些文件和目录。
但是,当它运行时,它会在我的lib目录中生成数据(run.n所在的目录)。我的路径如下:
Sys.getCwd() + "/myfile.txt"
我也试过
"myfile.txt"
总是一样。也许这是因为我在库中安装了haxelib git
?
flixel工具也有一个生成某些内容的命令,但它直接与flixel tpl -n 'name'
有关。他们不使用haxelib run flixel
。这就是为什么它对他们有效?
如果你有主意,谢谢你。
来自Using haxelib wiki页面:
当从haxelib调用run.n时,当前工作目录将设置为库目录(例如/usr/lib/haxe/lib/somelib/1,0/)。被调用的haxelib的目录将作为额外的参数,放在参数数组的末尾。
示例用法:
var haxelibDir = Sys.getCwd();
var userDir = Sys.args().pop();
Sys.setCwd( userDir );
// Now copy a sample file from the haxelib dir to the user's current dir:
var content = File.getContent( '$haxelibDir/tpl/myfile.txt' );
File.saveContent( '$userDir/myfile.txt', content );