#windows #powershell #nuget #chocolatey
#Windows #powershell #nuget #chocolatey
Вопрос:
Я читаю руководство по перекомпиляции пакетов, чтобы я мог использовать их в своем собственном репозитории, но когда я дойду до этой части:
Затем откройте tools chocolateyInstall.ps1.
Install-ChocolateyZipPackage 'notepadplusplus.commandline' 'https://notepad-plus-plus.org/repository/6.x/6.8.7/npp.6.8.7.bin.zip' "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
Все, что я вижу в файле chocolateyInstall.ps1, это:
#Install-VirtualPackage 'notepadplusplus.commandline' 'notepadplusplus.install'
URL-адреса нет. Как мне найти URL-адрес, по которому отправляется этот пакет, для загрузки программного обеспечения?
Ответ №1:
Я собираюсь рискнуть и сказать, что вы использовали этот пакет:
https://chocolatey.org/packages/notepadplusplus
Как вы выполнили шаг в статье.
В статье предлагается использовать этот пакет:
https://chocolatey.org/packages/notepadplusplus.commandline
Первый — это то, что мы называем meta, или виртуальным пакетом, поскольку он зависит ТОЛЬКО от другого пакета. В результате в файле chocolateyInstall.ps1 ничего нет.
Если вы выполните тот же процесс для пакета, на который я ссылался, вы должны увидеть URL-адрес, который вам нужно изменить.
Комментарии:
1. Итак, как работают виртуальные пакеты? Я в замешательстве, я нигде не видел установщика в пакете и не видел внешнего URL-адреса. Откуда он получает пакет?
2. Прокрутите страницу пакета вниз, пока не попадете в раздел зависимостей. Здесь вы увидите ссылку на этот пакет: chocolatey.org/packages/notepadplusplus.install который содержит URL-адрес загрузки и т.д. При установке виртуального / мета-пакета также устанавливаются зависимости.
3. Итак, виртуальные пакеты являются своего рода расширенными.установите пакеты и не могут существовать без них?
4. В некотором смысле, да. Чтобы иметь виртуальный / мета-пакет, должен быть другой пакет, который выполняет фактическую установку. Посмотрите здесь: github.com/chocolatey/choco/wiki /… для получения дополнительной информации об этом.