Видаліть реєстрацію Chocolatey без видалення програми


22

Я хочу мати можливість choco upgrade all -yоновити майже всі свої пакети Chocolatey.

Деякі пакети представляють додатки, які я хочу встановити, але я більше не хочу, щоб вони оновлювалися, принаймні не автоматично choco upgrade allкомандою.

Чи можу я видалити пакунок із Chocolatey, не фактично видаляючи програму? Це дало б бажаний ефект.

Або я можу досягти своєї мети кращим чином?


3
Ви можете використовувати штифт (див. choco pin -hПодробиці), і Chocolatey не намагатиметься оновити пакет. github.com/chocolatey/choco/wiki/CommandsPin
ferventcoder

Новий варіант - синхронізація в про-бізнесі - chocolatey.org/docs/features-synchronize
ferventcoder

Відповіді:


30

У вас є два варіанти:

  1. Ви можете використовувати контактний (див шоколадно штифта -h для деталей) і шоколадний не намагатиметься оновити пакет: choco pin add -n=packageName. Після цього команда choco upgrade allпропустить пакет з назвою packageName.

  2. Ви можете видалити програму з бази даних Chocolatey (ви повинні видалити папку програми). Всі додатки метадані зберігаються в папці C:\ProgramData\chocolatey\lib\<package-name>, наприклад: C:\ProgramData\chocolatey\lib\adobereader.

    Видаліть каталог обережно, оскільки іноді додатки встановлюються всередині папки шоколадних програм, наприклад: C:\ProgramData\chocolatey\lib\javadecompiler-gui\jd-gui-windows-1.4.0


Схоже, це працює. І це не має поганих побічних ефектів для шоколаду? Немає файлів конфігурацій, які потрібно змінити?
Клас Меллбурн

1
Chocolatey зберігає всі дані пакунків у libпапці, щоб ви могли безпечно видалити ці папки.
агабрис

2
Варіант 2, я не редагуватиму це (оскільки це вже прийнята відповідь), але ви також можете закріпити пакунки, які ви не хочете оновити. Це набагато краще рішення проти того, що потрібно вручну переходити та видаляти файли.
ferventcoder

@agabrys, якщо ви хочете, щоб я відредагував відповідь, я можу додати дані про шпильку. Або ви можете відредагувати.
ferventcoder

2
Я змінив відповідь. Завжди
сміливо розкривайте

28

Приклад (видаліть пакунок myExamplePackageз шоколаду без видалення)

choco uninstall myExamplePackage -n --skipautouninstaller

З шоколадних документів :

ПРИМІТКА. Пакет із невдалою видаленням можна видалити за допомогою -n --skipautouninstallerпрапорів. Це вилучить пакунок з шоколаду, не намагаючись видалити програму.


Я не можу зрозуміти, як використовувати команду - ви можете сказати мені повну команду для пакета?
користувач598527

1
впевнений - я додав приклад до посади.
Патрік Хек

Здається, це більше не працює з поточною версією Chocolatey
Mica

1
Мені прекрасно працювали, дякую!
губка шматок
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.