Как мне перекомпилировать виртуальные пакеты Chocolatey?

#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 /… для получения дополнительной информации об этом.