Частные репозитории
Если вы ищете частные реестры npm и поддержку .npmrc, посетите страницу поддержки npm.
Иногда вам может потребоваться загрузить удалённый модуль из частного репозитория, например из частного репозитория на GitHub.
Deno поддерживает отправку токенов Bearer при запросе удалённого модуля. Токены Bearer — наиболее распространённый тип токенов доступа, используемых с OAuth 2.0, и широко поддерживаются хостинг-сервисами (например, GitHub, GitLab, Bitbucket, Cloudsmith и другими).
DENO_AUTH_TOKENS
Чтобы определить, какие токены аутентификации следует использовать при запросе удалённых модулей, интерфейс командной строки Deno ищет переменную среды с именем DENO_AUTH_TOKENS. Значение переменной среды должно содержать n токенов, разделённых точкой с запятой (;), где каждый токен представляет собой одно из следующего:
- токен Bearer в формате
{token}@{hostname[:port]}или - данные базовой аутентификации в формате
{username}:{password}@{hostname[:port]}
Например, один токен для deno.land будет выглядеть примерно так:
DENO_AUTH_TOKENS=a1b2c3d4e5f6@deno.land
или:
DENO_AUTH_TOKENS=username:password@deno.land
Несколько токенов будут выглядеть так:
DENO_AUTH_TOKENS=a1b2c3d4e5f6@deno.land;f1e2d3c4b5a6@example.com:8080;username:password@deno.land
При загрузке удалённого модуля, если имя хоста совпадает с именем хоста удалённого модуля, Deno установит для заголовка Authorization запроса значение Bearer {token} или Basic {base64EncodedData}. Это позволяет удалённому серверу распознать, что запрос авторизован и связан с определённым аутентифицированным пользователем, а также предоставить доступ к соответствующим ресурсам и модулям на сервере.
GitHub
Чтобы получить доступ к частным репозиториям на GitHub, вам потребуется создать персональный токен доступа. Для этого войдите в GitHub и перейдите в раздел Settings -> Developer settings -> Personal access tokens:

Затем выберите Generate new token, укажите описание токена и предоставьте ему соответствующий доступ к области действия repo. Область действия repo позволит читать содержимое файлов (подробнее об областях действия в документации GitHub):

После создания GitHub покажет новый токен только один раз. Его значение следует использовать в переменной среды:

Чтобы получить доступ к модулям из частного репозитория на GitHub, используйте созданный токен в переменной среды DENO_AUTH_TOKENS, задав область действия для имени хоста raw.githubusercontent.com. Например:
DENO_AUTH_TOKENS=a1b2c3d4e5f6@raw.githubusercontent.com
Это должно позволить Deno получить доступ ко всем модулям, к которым имеет доступ пользователь, для которого был создан токен.
Если токен указан неверно или у пользователя нет доступа к модулю, GitHub вернёт статус 404 Not Found, а не статус «не авторизован». Поэтому, если в командной строке появляются ошибки о том, что нужные модули не найдены, проверьте настройки переменной среды и персонального токена доступа.
Кроме того, deno run -L debug должно вывести отладочное сообщение о количестве токенов, извлечённых из переменной среды. Если какой-либо токен имеет неверный формат, будет выведено сообщение об ошибке. В целях безопасности сведения о токенах не отображаются.
Последнее обновление:
© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/runtime/packages/private_repositories