Unity 6.3
0 онлайн 104 гостей 3 в системе
Вход
Пакеты и управление пакетами Шаг 274 из 281

Использование реестра с определенной областью в проекте

Добавление в проект реестра с ограниченной областью действия для доступа к пользовательским пакетам.

Целостность и безопасность реестров с определенной сферой охвата

При добавлении реестра с областью в проект следует проявлять такую же осторожность, как и при установке любого другого стороннего программного обеспечения:

  • Устанавливайте реестры с определенной областью только из надежных источников, поскольку пакеты в этих реестрах могут содержать исполняемый код.
  • Остерегайтесь регистров третьих сторон, которые могут быть вредными или захватывать данные без надлежащего контроля. Также остерегайтесь третьих сторон, которые ложно утверждают, что являются Unity или имеют одобрение или поддержку Unity.

Управление реестрами с определенной областью для проекта

Вы можете использовать Project Настройки окно или файл манифеста проекта для управления регистрами с определенной областью действия в проекте.

Управление реестрами с ограниченной областью с помощью окна Настройки Project

Вы можете добавлять, изменять и удалять реестр с областью действия для вашего проекта в панели Package Manager в окне Project Настройки. Группа Реестры с областью действия отображает список реестров с областью действия, добавленных в текущий проект слева от группы настроек, а подробности выбранного реестра справа.

Добавление реестра

Чтобы добавить новый реестр с областью действия в проект с помощью панели Package Manager окна Project Настройки:

  1. Выберите кнопку Добавить (+) в нижней части списка реестров с областью действия. Новая запись появится в списке как Новый реестр с областью действия с пустыми значениями для деталей справа.
  2. Введите значения для свойств Имя, URLи Scope(s).
  3. Если вы хотите указать несколько областей, выберите кнопку Добавить (+) под последним значением Scope(s), чтобы отобразить еще одно текстовое поле Scope(s).
  4. После ввода сведений для выбранного реестра области выберите Сохранить. Чтобы отменить добавление нового реестра области, выберите Отмена.

Примечание: При добавлении реестра с определенной областью могут возникнуть одна или несколько из следующих проблем:

  • My Registries: контекст не отображается на панели навигации.
  • Область реестра не перечислена в контексте Мои реестры.

Эти проблемы могут возникнуть, если добавленный сервер реестра пакетов не реализует конечные точки /-/v1/search или /-/all. Они необходимы для работы Package Manager Unity.

Изменение реестра

Чтобы изменить существующий реестр с областью действия с помощью панели Package Manager окна Project Настройки:

  1. Выберите реестр, который требуется изменить, из списка слева. Сведения о существующем реестре области отображаются справа.
  2. Измените любое из свойств Имя, URLи Scope(s).
  3. После обновления сведений для выбранного реестра области выберите Применить. Чтобы отменить обновления, выберите Вернуть.

Удаление реестра

Чтобы удалить существующий реестр с областью действия с помощью панели Package Manager окна Project Настройки:

  1. Выберите реестр, который требуется удалить из списка.
  2. Выберите кнопку Удалить (-) под списком. В диалоговом окне появится запрос на подтверждение удаления.
  3. Выберите OK, чтобы удалить реестр, или Отмена, чтобы оставить его нетронутым.

Управление реестрами с определенной областью с файлом манифеста проекта

манифест проекта использует свойство scopedRegistries, содержащее массив объектов конфигурации реестров с областью действия. Каждый объект имеет следующие свойства:

Свойство JSON Тип Описание
имя Струна Имя области видимости в том виде, в каком оно отображается в интерфейсе. Окно Package Manager показывает это имя в панель деталей.

Например, "name": "Tools".
URL адрес Струна URL-адрес сервера реестра, совместимого с npm.

Например, "url": "https://mycompany.example.com/tools-registry"

Примечание: не все поставщики реестров совместимы с Unity Package Manager. Убедитесь, что добавляемый сервер реестра пакетов реализует конечные точки /-/v1/search или /-/all.
сферы охвата Массив строк Массив областей, которые вы можете отобразить на имя пакета, либо как точное соответствие на имя пакета, либо как пространство имен. Подстановочные символы и другие шаблоны glob не поддерживаются.

Например, "scopes": [ "com.example", "com.example.tools.physics" ]

Примечание: Этот тип конфигурации предполагает, что пакеты следуют Обратная нотация доменного имени. Это гарантирует, что com.unity эквивалентно любому имени пакета, которое соответствует пространству имен com.unity, например com.unity.timeline или com.unity.2d.animation.

Предупреждение: Unity не поддерживает нотацию npm @scope.

Пример манифеста Project

В следующем манифесте проекта имеются два регистра с определенной сферой охвата, General и Tools:

{
    "scopedRegistries": [
        {
            "name": "General",
            "url": "https://example.com/registry",
            "scopes": [
                "com.example", "com.example.tools.physics"
            ]
        },
        {
            "name": "Tools",
            "url": "https://mycompany.example.com/tools-registry",
            "scopes": [
                "com.example.mycompany.tools"
            ]
        }
    ],
    "dependencies": {
        "com.unity.animation": "1.0.0",
        "com.example.mycompany.tools.animation": "1.0.0",
        "com.example.tools.physics": "1.0.0",
        "com.example.animation": "1.0.0"
    }
}

Когда Package Manager решает, из какого реестра извлечь пакет, он сравнивает пакет name со значениями scopes и находит реестр, значение scopes которого наиболее близко соответствует. Следующие сценарии показывают логику, которую Package Manager использует при оценке регистров General и Tools из предыдущего файла JSON:

  • Когда Package Manager ищет пакет com.example.animation, он обнаруживает, что пространство имен com.example наиболее близко соответствует его имени, и извлекает этот пакет из реестра General.
  • Когда Package Manager ищет пакет com.example.tools.physics, реестр General имеет область, которая точно соответствует имени пакета.
  • Когда Package Manager ищет пакет com.example.mycompany.tools.animation, Package Manager обнаруживает, что пространство имен com.example.mycompany.tools является наиболее близким соответствием его имени, и извлекает этот пакет из реестра Tools. Хотя оно также соответствует области General, пространство имен com.example не является столь близким соответствием.
  • Когда Package Manager ищет пакет com.unity.animation, Package Manager не находит соответствия ни в одном из реестров области. В этом случае он получает пакет из реестра по умолчанию.

Импорт реестров с определенной сферой охвата

Если вы работаете в общем проекте и другой пользователь добавляет в проект реестр с областью действия, Unity предупреждает вас о том, что другой пользователь добавил новый реестр с областью действия.

Unity предупреждает вас, если в списке регистров с пределами действия для вашего проекта произошло изменение
Unity предупреждает вас, если произошло изменение в списке регистров с пределами действия для вашего проекта

При выборе Закрытьоткроется окно Package Manager Настройки проекта, в котором вы сможете управлять реестрами для вашего проекта.

Если выбрать Читать далее, Unity откроет Регистры сферы охвата в веб-браузере по умолчанию.

Совет: Для доступа к окну настроек проекта Package Manager в любое время, используйте главное меню в Unity (Изменить > Project Настройки, затем категорию Package Manager). Вы также можете выбрать Расширенные Project Настройки из меню расширенные настройки в окне Package Manager.

Проверка подлинности с помощью реестра с областью действия

Если вы хотите получить доступ к реестру с областью действия, требующему аутентификации, необходимо настроить файл конфигурации пользователя Package Manager с аутентификацией npm. Дополнительные сведения см. в разделе Аутентификация реестра с областью действия.

Дополнительные ресурсы