我正在尝试为我的haxe库创建一些命令,但我遇到了问题。实际上,我想在命令haxelib run <mylib> <command>
发送的目录中生成一些文件和目录。
但是,当它运行时,它会在我的lib目录中生成数据( run.n 所在的位置)。我的路径如下:
Sys.getCwd() + "/myfile.txt"
我也试过
"myfile.txt"
总是一样的。也许那是因为我用haxelib git
安装了我的库?
flixel-tools 有一个命令可以生成一些东西,但是它直接与flixel tpl -n 'name'
生成。他们不使用haxelib run flixel
。
这就是为什么它适合他们?
如果您有任何想法,谢谢。
答案 0 :(得分:5)
来自Using haxelib维基页面:
当从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 );