2

Не стал ли PackageID чувствительным к регистру в версиях Chocolatey выше 0.9.8.23 в команде установки? Я использую «Командную строку» на Win7 64bit, и источником пакета является частный ProGet-сервер (v.3.1.0).

Вот что я попробовал (обратите внимание на первую букву в PackageID!):

C:\Users\VMWIN764>cinst fileLocatorLite2014
The default install location has been changed . . .
Chocolatey (v0.9.8.27) is installing 'fileLocatorLite2014' and dependencies. By
installing you accept the license for 'fileLocatorLite2014' and each dependency
you are installing.
Unable to find version '1.0.0.820' of package 'fileLocatorLite2014'.

Command 'install' failed (sometimes this indicates a partial failure). Additiona
l info/packages: fileLocatorLite2014

C:\Users\VMWIN764>cinst FileLocatorLite2014
The default install location has been changed . . .
Chocolatey (v0.9.8.27) is installing 'FileLocatorLite2014' and dependencies. By
installing you accept the license for 'FileLocatorLite2014' and each dependency
you are installing.

FileLocatorLite2014 v1.0.0.820
Installing FileLocatorLite2014...
FileLocatorLite2014 has been installed.
Finished installing 'FileLocatorLite2014' and dependencies - if errors not shown
 in console, none detected. Check log for errors if unsure.

Чтение комментариев дало мне идею просмотреть запросы к серверу с помощью Fiddler, потому что cinst с ошибочно указанным PackageID работал с Chocolatey 0.9.8.23 и не с 0.9.8.27 при использовании одного ProGet-сервера для обоих тестов!

Итак, Fiddler показал, что 0.9.8.23 (который использует nuget.exe v2.1.31022.9038) выдает следующий запрос:

/nuget/Chocolatey_Tools/Packages()?$filter=tolower(Id)%20eq%20'googlechrome'&$orderby=Id

И в 0.9.8.27 (который использует nuget.exe v2.8.50506.491) результат таков:

/nuget/Chocolatey_Tools/FindPackagesById()?$filter=IsLatestVersion&$orderby=Version%20desc&$top=1&id='googlechrome'
/nuget/Chocolatey_Tools/Packages()?$filter=tolower(Id)%20eq%20'googlechrome'&$orderby=Id
/nuget/Chocolatey_Tools/Packages(Id='googlechrome',Version='33.0.1750.146')

1 ответ1

1

Шоколад не учитывает регистр, но кажется, что ProGet (просто завершая комментарии Гэри в ответ).

Однако, похоже, что что-то вошло в NuGet 2.8, что делает вещи чувствительными к регистру. Что является FTL, если сторона сервера не компенсирует эту несовместимость имен.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .