Пользовательский пакет Chocolatey устанавливается в неправильный каталог? - PullRequest
0 голосов
/ 16 октября 2019

Я создал установщик, который будет загружать и устанавливать зависимости (я не знаю, правильно ли я это делаю, кстати).

Все устанавливается правильно ... Но к концу установки я получаюнеясное сообщение. Вот мой установщик

function install_package {
Param([string]$package_name)
$result = choco list -lo | Where-object { $_.ToLower().StartsWith($package_name.ToLower()) }
if($null -ne $result) {
return
}
Write-Host "Installing $package_name" -ForegroundColor Green
choco install $package_name -y | Out-Null
}
function setup_env_for_exe {
Param([string]$exe_name)
refreshenv | Out-Null
$exe_path = (Get-ChildItem -Force -ErrorAction SilentlyContinue 'C:\Program Files\' -recurse -include "$exe_name.exe").DirectoryName
$envPath = [Environment]::GetEnvironmentVariable("Path", [EnvironmentVariableTarget]::Machine)
if(!$env:Path.Contains($exe_path)) {
Write-Host "Setting environment path for $exe_name" -ForegroundColor Green
[Environment]::SetEnvironmentVariable(
"Path",
$envPath + ";$exe_path",
[EnvironmentVariableTarget]::Machine)
refreshenv | Out-Null
}
}
function full_setup {
Param([string]$package_name)
install_package($package_name)
setup_env_for_exe($package_name)
}
$toolsDir = (Split-Path -parent $MyInvocation.MyCommand.Definition)
full_setup("gnuplot")
full_setup("snaketail")
install_package("mongodb")
setup_env_for_exe("mongo")
Get-ChocolateyUnzip -FileFullPath "$toolsDir\test.zip" -Destination "C:\test\"

С этим сценарием я получаю следующий вывод:

The install of stress-test-package was successful.

Software installed to 'C:\Program Files\gnuplot\'

Почему он будет установлен в каталог gnuplot?

Если яудалите настройку gnuplot из моего скрипта, который он устанавливает, в мою тестовую директорию. Но я не знаю, почему он это печатает ... и тот факт, что ничего, связанное с моим тестовым пакетом, не помещается в каталог gnuplot

...