Он позволяет устанавливать приложения одной командой из встроенного репозитория Microsoft, а не искать файл установки в интернете или устанавливать его из Windows Store.
69 822 просмотров
Менеджер пакетов — инструмент, который обычно распространён среди разработчиков и пользователей Linux. C помощью него пользователи могут упростить скачивание приложений — им не нужно искать на сайте разработчика файл установки, загружать сначала его, а лишь затем устанавливать приложение.
Для Windows 10 основным источником для скачивания приложений должен был стать Windows Store. Но, как отмечает The Verge, большинство опытных пользователей и разработчиков игнорируют магазин Windows в пользу ручной загрузки инсталляторов и альтернативных менеджеров пакетов, например, Chocolatey.
На конференции Build 2020 Microsoft представила собственный менеджер пакетов Windows Package Manager — инструмент командной строки, с помощью которого приложение для Windows скачивается из репозитория Microsoft одной командой winget.
Как извлечь содержимое .pkg (package) файла в macOS или Windows | Pacifist | pkgutil | BetterZIP
Например, в командной строке достаточно ввести команду winget install Steam, после чего в системе будет установлена последняя версия клиента Steam. При этом Steam отсутствует в Windows Store — его приходилось скачивать с сайта Valve.
Среди доступных через winget приложений — Zoom, 7Zip, Google Chrome, Spotify, Windows Terminal, PowerToys, Acrobat Reader, iTunes, Discord, Visual Studio Code, Ubuntu и другие популярные сервисы и приложения.
Как скачать и пользоваться Windows Package Manager
Скачать предварительную версию Windows Package Manager можно с GitHub. После скачивания и установки пакета (файл appxbundle) достаточно запустить командную строку Windows или PowerShell и ввести команду winget.
Если установка прошла корректно, будут отображены основные команды и краткое описание winget.
Команда winget install выведет весь список доступных приложений. Для установки конкретного приложения нужно ввести команду winget install [название приложения].
Например, winget install vlc, winget install notepad++ и так далее.
Источник: vc.ru
Что за папка packages в world of tanks
Пакеты это способ организации файлов модификаций, в котором весь контент отдельной модификации упакован в один файл.
В случае использования старой схемы распространения файлов, модификации устанавливаются в каталог /res_mods// .При этом, файлы разных модификаций располагаются в одних и тех же каталогах, и поэтому зачастую трудно определить, какой файл относится к какой именно модификации.
Переход на дистрибуцию в пакетах может существенно упростить организацию файлов модификаций: для установки пользователю достаточно скопировать пакет в каталог /mods// , а для деинсталляции удалить ровно тот же файл.
ЧТО ТАКОЕ Node Package Manager(NPM) за 12 минут??? (2020)
Файл метаданных meta.xml
Необязательный файл meta.xml содержит опциональные поля, описывающие модификацию.
Пример заполнения:
Значения из полей и используются для определения порядка монтирования пакетов. Значения полей и в будущем будут использоваться в системе управления модификациями.
Рекомендации по именованию пакетов
Для имени пакета (в дальнейшем package_id ) рекомендована следующая схема формирования:
( com.example ) или же просто его никнеймом ( noname )
Данное имя используется в файле meta.xml (смотрите раздел 5), а также как часть имени файла пакета.
Пример имён пакетов:
Имя файла пакета формируется следующим образом:
Известные проблемы
Регистрозависимость имён файлов
На данный момент, при монтировании файлов в виртуальную файловую систему:
- файлы из пакетов монтируются в нижнем регистре
- файлы из /res_mods/ монтируются как есть
В результате, если файл содержится как в пакете, так и в res_mods , и при этом содержит хоть один символ в имени в верхнем регистре, то есть вероятность повторной загрузки файла.
Использовать для /res_mods только имена файлов и каталогов в нижнем регистре.
Работа с файлами GNU Gettext
На данный момент невозможно переопределить .mo -файлы из /res/text/LC_MESSAGES/ файлами из пакета.
Исполнение .py файлов
На данный момент невозможно исполнение .py -файлов, которые размещены внутри пакета.
Размещать в пакете не только .py , но и скомпилированные в байткод .pyc -файлы.
Переопределение порядка монтирования пакетов
На данный момент невозможно переопределить порядок монтирования пакетов используя файл load_order.xml .
Временное решение Нет известного решения. Решение ожидается в скором времени.
Заметил что файлы *.pkg в папке respackages представляют из себя zip архивы без сжатия (!). Решил их сжать и перепаковал 7zip’ом пару файлов, файлы стали весить почти в два раза меньше, но игра перестала запускаться. Перепаковал те же файлы средствами сжатия Windows, файлы стали весить почти в два раза меньше и загрузка игры пошла быстрее, т.к. с уменьшением объема уменьшилось и количество обращений к жесткому диску. 7zip создает какие то неправильные zip файлы, только стандартный упаковщик винды хорошо упаковывает.
Загрузка пакетов
Порядок загрузки
Все пакеты, находящиеся в каталоге /mods// , сортируются по значению узла в файле meta.xml и загружаются по порядку. В случае отсутствия файла meta.xml внутри пакета, в качестве идентификатора пакета будет использовано имя файла.
Для переопределения порядка загрузки может быть использован файл load_order.xml , который должен находиться в вышеуказанном каталоге.
В случае, если все пакеты указаны в load_order.xml , то загрузка выполняется в указанном в файле порядке.
В случае, если часть пакетов в load_order.xml не указана, то сначала выполняется загрузка пакетов из load_order.xml , а затем отсутствующих в нём пакетов в алфавитном порядке.
Внимание: в данный момент использование файла load_orders.xml затруднено (смотрите раздел 9.4).
Совместное использование пакетов и res_mods
С точки зрения клиента игры, корень виртуальной системы формируется из:
- /res_mods/
- /mods//.wotmod/res/
- /res/packages/*.pkg/
- /res/
- Иные пути, указанные в файле /paths.xml
Пути указаны в порядке уменьшения приоритета. То есть, файлы из /res_mods// имеют наивысший приоритет вне зависимости от содержания load_order.xml
Разрешение конфликтов при загрузке
В общем случае, система пакетов не допускает ситуации, когда в каталоге res/ внутри разных пакетов находятся одинаковые файлы. Такая ситуация cчитается конфликтом.
В случае обнаружения конфликта, вызвавший его пакет не будет загружен, а пользователю будет показано соответствующее уведомление. Например, если пакеты a.wotmod и b.wotmod будут содержать внутри себя файл res/scripts/entities.xml , то a.wotmod будет загружен успешно, а b.wotmod вызовет конфликт и загружен не будет.
Для управления обработкой конфликтов можно использовать:
1. Файл load_order.xml .
Пакеты, перечисленные в этом файле, не считаются конфликтующими и загружаются без анализа на пересечение имен файлов.
2. Значение узлов и из meta.xml .
При наличии узла в файле meta.xml , имя файла пакета не влияет на порядок загрузки. Пакеты, у которых совпадает, считаются разными версиями или частями одной и той же модификации, и конфликты между ними также не учитываются. Данные пакеты загружаются в порядке увеличения версии.
Версии пакетов сравниваются посимвольно согласно таблице ASCII. Поведение совпадает с функцией strcmp():
- версия 9.0.0 приоритетнее версии 10.0.0
- версия b приоритетнее версии B
- версия c приоритетнее версии c
- если версии совпадают, то приоритет у пакета, имя файла которого будет первым по алфавиту.
При наличии одноименных файлов внутри разных пакетов, конфликты между которыми разрешены посредством load_order.xml или meta.xml , приоритет имеет файл из пакета, который был подключен последним или имеет наибольшее значение .
Исполнение Python-кода
После монтирования всех пакетов и разрешения конфликтов, происходит исполнение всех .pyc — файлов из каталога /scripts/client/gui/mods/ в алфавитном порядке, имя которых начинается с mod_ . В пакете данный файл должен быть расположен по следующему пути:
Установка пакета
Пакеты устанавливаются в /mods/ . Это может быть как ручное копирование, так и установка посредством инсталятора модификации или сборки модификаций.
При необходимости, пакеты могут быть организованы в подкаталоги, что позволяет авторам сборок модификаций выполнять группировку файлов:
0.9.17.1/ MultiHitLog_2.8.wotmod DamagePanel/ Some_common_library_3.14.5.wotmod DamagePanel_2.6.wotmod DamagePanel_2.8.wotmod DamagePanel_2.8_patch1.wotmod
Не открываются вкладки «Магазин» и «Кланы» в игре
После обновления 1.14 некоторые пользователи могут испытывать проблемы с открытием окон, использующих внутриигровой браузер. Могут быть недоступны Магазин, Полевая почта, Реферальная программа и т. д.
Мы знаем об этой проблеме и работаем над её устранением.
Для решения проблемы следуйте инструкции:
- Зайдите в настройки.
- В разделе Графика уберите галочку около пункта Аппаратное ускорение браузера.
- Примените изменения.
Перезапустите игру. Если проблема сохранится, создайте заявку в Центр поддержки.
Проблемы, связанные с модами
Во время игры могут возникать проблемы, связанные с установленными модификациями игрового клиента (модами). Список таких проблем и способов их решения вы найдёте ниже.
Мод (модификация) — дополнение к компьютерной игре, написанное, как правило, сторонними разработчиками или любителями с помощью прилагающегося к игре SDK или специальных любительских программ.
Если ошибка возникает из-за установленных модификаций, вы можете запустить игровой клиент в особом (безопасном) режиме, в котором игра запускается без модификаций и используется «чистый» клиент. При этом запуск в безопасном режиме не приведёт к сбросу ваших настроек и не удалит уже установленные в клиенте игры моды.
Запустите Game Center. В основном окне нажмите на стрелку в правой части кнопки «Играть».
В открывшемся меню выберите пункт «Запуск игры без модификаций».
- Откройте Game Center.
- Перейдите на вкладку World of Tanks.
- Нажмите на кнопку «Настройки игры».
- В меню выберите пункт «Восстановить игру».
- Дождитесь завершения процесса и нажмите на кнопку «Играть».
- Вы также можете воспользоваться WGCheck, чтобы проверить и восстановить файлы игры.
- Закройте клиент World of Tanks.
- Скачайте с нашего сайта архив.
- Распакуйте архив, поместите bat-файл в корневой каталог игры (например, C:GamesWorld_of_Tanks) и запустите его.
- Запустите клиент игры, проверьте актуальность проблемы.
Если после удаления модификаций проблема не исчезла, переустановите клиент игры. О том, как это сделать, читайте здесь.
Компания Wargaming не несёт ответственности за работу игрового клиента с модифицированными файлами.
Структура пакета
Пакет представляет собой zip-архив со следующими свойствами:
- без сжатия
- расширение: .wotmod
- максимальный размер архива: 2 ГиБ — 1 байт (2 147 483 647 байт)
Внимание: архивы с компрессией в текущей версии World of Tanks не поддерживаются, поэтому, при создании архивов необходимо установливать опцию «уровень сжатия» в значение «без сжатия».
архивы размером 2 ГиБ и больше в текущей версии World of Tanks не поддерживаются, поэтому большие пакеты необходимо разбивать на более мелкие, размер каждого из которых не будет превышает 2 ГиБ — 1 байт.
Внутри себя пакет содержит:
- обязательно: каталог /res/ . Сюда помещаются ресурсы модификации, то есть все те файлы, которые раньше устанавливались в /res_mods/
- опционально: служебный файл meta.xml (смотрите раздел 5)
- опционально: файл LICENSE с лицензионным соглашением
- опционально: любой иной контент, который может понадобиться автору модификации: ссылка на сайт модификации, документация, список изменений и тому подобное.
Пример структуры пакета:
/package.wotmod /meta.xml /README.md /LICENSE /res /scripts /client /gui /mods /mod_example.pyc
Работа с файлами внутри пакетов
Для работы с файлами внутри пакетов необходимо использовать модуль ResMgr .
Типовые операции
Чтение файла из пакета
def read_file(vfs_path, read_as_binary=True):
vfs_file = ResMgr.openSection(vfs_path) if vfs_file is not None and ResMgr.isFile(vfs_path): if read_as_binary: return str(vfs_file.asBinary) else: return str(vfs_file.asString) return None
Получение списка элементов в каталоге
result = [] folder = ResMgr.openSection(vfs_directory)
if folder is not None and ResMgr.isDir(vfs_directory): for name in folder.keys(): if name not in result: result.append(name)
return sorted(result)
Копирование файла из пакета в каталог
import os import ResMgr
def file_copy(vfs_from, realfs_to)
Рекомендованные пути для файлов модификаций
Файлы конфигурации
Для хранения файлов конфигурации модификаций рекомендованно использовать путь
author_id и mod_id — идентификаторы, описаные в разделе 4 данной спецификации.
Файлы журналов
Помимо штатного файла python.log , для хранения журналов рекомендованно использовать путь:
author_id и mod_id — идентификаторы, описаные в разделе 4 данной спецификации.
Временные файлы
Для хранения временных файлов модификации рекомендованно использовать следующий путь:
- temp — путь к каталогу с временными файлами для текущего пользователя в ОС;
- author_id и mod_id — идентификаторы, описаные в разделе 4 данной спецификации.
Иные файлы модификации
Для хранения внутри пакета контента, к которому необходимо получить доступ из клиента игры, рекомендованно использовать следующий путь:
author_id и mod_id — идентификаторы, описаные в разделе 4 данной спецификации.
- Как убивать со спины в dark souls 2
- Fable anniversary как копать
- Dragon age inquisition как узнать отношение спутников
- Скайрим как снять штраф
- Некрачи дота 2 что это
Источник: igry-gid.ru
папка Packages. решено
в тупике
сейчас обнаружил на рабочем столе папку Packages с содержимым (на скрине)
как она тут оказалась — ума не приложу. обычно рабочий стол держу пустым. вариантов два — каким то мистическим образом я вытащил ее откуда то, когда сохранял что то из вложений в Mail.app или gdhe тройку дней назад ставил друзьям ось на макбук
пытаюсь найти — откуда папка — понять не могу ( откуда я умудрился ее перетащить на рабочий стол? вопрос «КАК». я даж не задаю что бы не начать искать шапочку из фольги. психоактивных веществ не употребляю, пост не пятничный хотя очень похоже)
Итого, откуда эта папка с содержимым может быть что бы вернуть ее на место. подскажите пожалуйста
UPD решено благодаря камраду warravana
цитата
Это системная папка, образованная при попытке обновления операционки. Например, при обновлении маверика на йосимитку.
При удачном обновлении она будет автоматически удалена. Ее наличие означает прерванную инсталляцию.
Источник: ru-mac.livejournal.com
Управление папкой установки глобальных пакетов, кэшем и временными папками
После каждой установки, обновления или восстановления NuGet управляет пакетами и сведениями о них в нескольких папках за пределами структуры проекта:
- Windows: %userprofile%.nugetpackages
- Mac/Linux: ~/.nuget/packages
- Переопределяет с помощью переменной среды NUGET_PACKAGES параметры конфигурации globalPackagesFolder или repositoryPath (при использовании PackageReference и packages.config соответственно) или свойство MSBuild RestorePackagesPath (только MSBuild). Переменная среды имеет приоритет над параметром конфигурации.
- Windows: %localappdata%NuGetv3-cache
- Mac/Linux: ~/.local/share/NuGet/v3-cache
- Переопределяет с помощью переменной среды NUGET_HTTP_CACHE_PATH.
- Windows: %localappdata%NuGetplugins-cache
- Mac/Linux: ~/.local/share/NuGet/plugins-cache
- Переопределите с помощью переменной среды NUGET_PLUGINS_CACHE_PATH.
NuGet 3.5 и более ранних версий использует папку packages-cache вместо http-cache, которая находится по следующему пути: %localappdata%NuGetCache .
Использование кэша и папок global-packages позволяет NuGet избежать скачивания пакетов, хранящихся на компьютере, что в свою очередь улучшает производительность операций установки, обновления и восстановления. При использовании формата PackageReference папка global-packages также позволяет избежать хранения скачанных пакетов в папках проектов, откуда их можно случайно добавить в систему управления версиями. Кроме того, это снижает общее влияние NuGet на ресурсы хранилища компьютера.
При запросе на извлечение пакета NuGet в первую очередь проверяет папку global-packages. Если не удается найти точную версию пакета, NuGet проверяет все источники пакетов, отличные от HTTP. Если пакет отсутствует и там, NuGet ищет его в папке http-cache, если вы не указали с помощью команды dotnet.exe параметр —no-cache или с помощью команды nuget.exe параметр -NoCache . Если пакет отсутствует в кэше или кэш не используется, NuGet извлекает пакет по протоколу HTTP.
Дополнительные сведения см. в разделе Процесс установки пакета.
Просмотр расположения папок
Расположение можно просмотреть с помощью команды nuget locals:
# Display locals for all folders: global-packages, http cache, temp and plugins cache nuget locals all -list
Типичные выходные данные выглядят следующим образом (Windows; user1 —это имя текущего пользователя):
http-cache: C:Usersuser1AppDataLocalNuGetv3-cache global-packages: C:Usersuser1.nugetpackages temp: C:Usersuser1AppDataLocalTempNuGetScratch plugins-cache: C:Usersuser1AppDataLocalNuGetplugins-cache
(Папка package-cache используется в NuGet 2.x. Ее содержимое можно посмотреть с помощью NuGet 3.5 и более ранних версий.)
Расположения папок можно также просмотреть с помощью команды dotnet nuget locals:
dotnet nuget locals all —list
Типичные выходные данные выглядят следующим образом (Mac/Linux; user1 —это имя текущего пользователя):
info : http-cache: /home/user1/.local/share/NuGet/v3-cache info : global-packages: /home/user1/.nuget/packages/ info : temp: /tmp/NuGetScratch info : plugins-cache: /home/user1/.local/share/NuGet/plugins-cache
Чтобы отобразить расположение отдельной папки, используйте http-cache , global-packages , temp или plugins-cache , а не all .
Очистка локальных папок
Если при установке пакета возникают неполадки или вы по иной причине хотите обеспечить установку пакетов из удаленной коллекции, используйте параметр locals —clear (dotnet.exe) или locals -clear (nuget.exe), с помощью которых можно указать конкретную папку, которую нужно очистить, или параметр all , чтобы очистить все папки:
# Clear the 3.x+ cache (use either command) dotnet nuget locals http-cache —clear nuget locals http-cache -clear # Clear the 2.x cache (NuGet CLI 3.5 and earlier only) nuget locals packages-cache -clear # Clear the global packages folder (use either command) dotnet nuget locals global-packages —clear nuget locals global-packages -clear # Clear the temporary cache (use either command) dotnet nuget locals temp —clear nuget locals temp -clear # Clear the plugins cache (use either command) dotnet nuget locals plugins-cache —clear nuget locals plugins-cache -clear # Clear all caches (use either command) dotnet nuget locals all —clear nuget locals all -clear
Все пакеты, которые в настоящее время открыты в проектах Visual Studio, нельзя удалить из папки global-packages.
Начиная с версии Visual Studio 2017, в меню Средства > Диспетчер пакетов NuGet > Параметры диспетчера пакетов выберите Очистить весь кэш NuGet. Сейчас управлять кэшем через консоль диспетчера пакетов нельзя. В Visual Studio 2015 используйте вместо этого команды CLI.
Устранение ошибок
При использовании nuget locals или dotnet nuget locals могут возникать следующие ошибки:
- Ошибка: процесс не может получить доступ к файлу , поскольку этот файл используется другим процессом или При удалении локальных ресурсов произошел сбой: не удалось удалить один файл (или несколько) Один или несколько файлов в папке используются другим процессом, например открыт проект Visual Studio, который ссылается на пакеты в папке global-packages. Закройте эти процессы и повторите попытку.
- Ошибка: доступ к пути запрещен или Каталог не пуст Отсутствуют разрешения на удаление файлов в кэше. Измените разрешения папки, если это возможно, и повторите попытку. В противном случае обратитесь к системному администратору.
- Ошибка: указанный путь, имя файла или оба значения имеют слишком большую длину. Полное имя файла должно содержать меньше 260 символов, а имя каталога — меньше 248 символов. Сократите имена папок и повторите попытку.
Источник: learn.microsoft.com