Я не знаю ни о каких параметрах API для доступа к пути к двоичному файлу haxe
, но предполагалось, что это будет HAXEPATH environment variable
, к которому вы могли бы обратиться с помощью Sys.getEnv()
?
В противном случае вы можете запустить процесс, найти путь и записать его в файл:
function getHaxeBinPath () : String {
var path = switch ( Sys.systemName () ) {
case "Windows":
// Windows Script.
case "Linux":
Sys.command ( "echo $( which haxe ) >> exePath.txt" );
Sys.io.File.getContent ( "exePath.txt" );
case "BSD":
// BSD Script.
case "Mac":
// Macintosh Script.
default:
throw "Unknown Operating System!";
}
if ( sys.FileSystem.exists ( "exePath.txt" ) {
sys.FileSystem.deleteFile ( "exePath.txt" );
}
return path;
}
, но тогда вам потребуется скрипт для каждой операционной системы и учетной записи дляверсии вещей.Если вы решите пойти с этим, я думаю, что в Windows есть команда WHERE , которую вы могли бы использовать, но я не очень много знаю об этом.
Это не похоже на этоВы бы работали на * nix (из-за необходимости входа / выхода для обновления переменных среды), но вы могли бы иметь возможность установить переменную среды в процессе и затем получить ее с помощью Sys.getEnv()
?Та же проблема с изготовлением кастомной вещи для каждой ОС.