Spec-Zone.ru › Deno 2

Переменные окружения

Использовать переменные окружения в Deno можно несколькими способами:

Встроенный метод Deno.env

Среда выполнения Deno имеет встроенную поддержку переменных окружения с помощью Deno.env.

У Deno.env есть методы получения и установки значений. Пример использования:

Deno.env.set("FIREBASE_API_KEY", "examplekey123");
Deno.env.set("FIREBASE_AUTH_DOMAIN", "firebasedomain.com");

console.log(Deno.env.get("FIREBASE_API_KEY")); // examplekey123
console.log(Deno.env.get("FIREBASE_AUTH_DOMAIN")); // firebasedomain.com
console.log(Deno.env.has("FIREBASE_AUTH_DOMAIN")); // true

Файл .env

Deno также поддерживает файлы .env. Можно указать Deno считывать переменные окружения из .env с помощью флага --env-file, например:

›_
deno run --env-file main.ts

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

Чтобы загрузить переменные из нескольких файлов, можно передать несколько флагов --env-file (например, deno run --env-file=.env.one --env-file=.env.two --allow-env <script>).

Примечание

Если в одном файле .env переменная окружения объявлена несколько раз, применяется первое объявление. Однако если одна и та же переменная объявлена в нескольких файлах .env (с помощью нескольких аргументов --env-file), приоритет имеет значение из последнего указанного файла. Это означает, что будет применено первое найденное объявление из последнего указанного файла .env.

@std/dotenv

Пакет dotenv из стандартной библиотеки можно использовать для загрузки переменных окружения из .env.

Предположим, у вас есть файл .env следующего вида:

›_
GREETING="Hello, world."

Импортируйте модуль load, чтобы автоматически импортировать переменные из файла .env в окружение процесса.

import { load } from "jsr:@std/dotenv";

const env = await load({
  // optional: choose a specific path (defaults to ".env")
  envPath: ".env.local",
  // optional: also export to the process environment (so Deno.env can read it)
  export: true,
});

console.log(env.GREETING);
console.log(Deno.env.get("GREETING"));

Запустите это с помощью deno run --allow-read --allow-env app.ts.

Дополнительную документацию по работе с .env можно найти в документации @std/dotenv.

Установка переменной при запуске команды

Как и в других командах CLI, перед запуском команды можно установить переменные окружения, например:

MY_VAR="my value" deno run main.ts

Это полезно, если нужно менять поведение задачи в зависимости от переменной окружения. Такой подход удобно сочетать с командами deno task, например:

deno.json
{

  ...
  
  "tasks": {
    "build:full": {
      "description": "Build the site with all features",
      "command": "BUILD_TYPE=FULL deno run main.ts"
    },
    "build:light": {
      "description": "Build the site without expensive operations",
      "command": "BUILD_TYPE=LIGHT deno run main.ts"
    }
  }
}
Переменные со пробелами

При установке переменных окружения, содержащих пробелы, в файле .env заключайте значение в кавычки. Например:

MY_VAR="my value with spaces"

Специальные переменные окружения

Среда выполнения Deno использует следующие специальные переменные окружения.

имя описание
DENO_AUTH_TOKENS Разделённый точками с запятой список токенов Bearer и имён хостов для загрузки удалённых модулей из приватных репозиториев
(например, abcde12345@deno.land;54321edcba@github.com)
DENO_TLS_CA_STORE Зависимый от порядка список хранилищ сертификатов, разделённых запятыми.
Возможные значения: system, mozilla. По умолчанию используется mozilla.
DENO_CERT Загружает центры сертификации из файла в формате PEM. Файл может содержать несколько сертификатов, каждый в отдельном блоке PEM. Это форма переменной окружения для флага --cert.
NODE_EXTRA_CA_CERTS Путь к файлу PEM с дополнительными центрами сертификации. Сертификаты загружаются на уровне корневого хранилища сертификатов, поэтому учитываются в fetch(), Deno.connectTls() и API совместимости с Node (node:https, node:tls). Доступно в Deno 2.8 и новее. Отсутствие или некорректность файла вызывает предупреждение, а не ошибку, как в Node.js.
DENO_COVERAGE_DIR Задаёт каталог для сбора данных профиля покрытия кода. Этот параметр работает только для подкоманды deno test.
DENO_DIR Задаёт каталог кэша
DENO_INSTALL Используется скриптом установки для оболочки, чтобы определить, куда устанавливать исполняемый файл deno. Бинарный файл помещается в $DENO_INSTALL/bin/deno.
DENO_INSTALL_ROOT Задаёт корневой каталог установки для deno install. Исполняемые файлы помещаются в подкаталог bin, если путь уже не заканчивается на bin (по умолчанию — $HOME/.deno, то есть исполняемые файлы помещаются в $HOME/.deno/bin)
DENO_REPL_HISTORY Задаёт путь к файлу истории REPL. Если значение пустое, файл истории отключён
(по умолчанию — $DENO_DIR/deno_history.txt)
DENO_NO_PACKAGE_JSON Отключает автоматическое разрешение package.json
DENO_CONDITIONS Разделённый запятыми список пользовательских условий для разрешения экспортов npm-пакетов (эквивалент флага --conditions)
DENO_UNSTABLE_TSGO Установите значение 1, чтобы проверять типы с помощью нативного компилятора TypeScript (на Go). Эквивалент флага --unstable-tsgo. См. раздел TypeScript.
DENO_NO_PROMPT Установите значение, чтобы отключить запросы разрешений при доступе
(альтернатива передаче --no-prompt при запуске)
DENO_NO_UPDATE_CHECK Установите значение, чтобы отключить проверку наличия новой версии Deno
DENO_V8_FLAGS Задаёт параметры командной строки V8
DENO_JOBS Количество параллельных рабочих процессов для флага --parallel подкоманды test.
По умолчанию равно количеству доступных процессоров.
DENO_KV_ACCESS_TOKEN Персональный токен доступа, используемый при подключении к базам данных Deno KV (например, через Deno.openKv или @deno/kv с URL-адресом KV Connect).
DENO_AUDIT_PERMISSIONS Ведёт аудит каждого обращения к разрешениям. Укажите путь к файлу для записи в формате JSONL или буквальное значение otel, чтобы отправлять записи журнала OpenTelemetry через настроенный экспортёр OTel. Список полей см. в разделе аудит разрешений.
DENO_TRACE_PERMISSIONS Установите значение 1, чтобы включить трассировки стека в запросах разрешений (по умолчанию отключено, поскольку сбор трассировок снижает производительность)
DENO_WEBGPU_TRACE Путь к каталогу для сохранения трассировки WGPU при использовании API WebGPU
DENO_WEBGPU_BACKEND Выбирает бэкенд для WebGPU или список бэкендов, разделённых запятыми и упорядоченных по предпочтительности. Возможные значения: vulkan, dx12, metal или opengl
HTTP_PROXY Адрес прокси-сервера для HTTP-запросов (загрузка модулей, fetch)
HTTPS_PROXY Адрес прокси-сервера для HTTPS-запросов (загрузка модулей, fetch)
NPM_CONFIG_REGISTRY URL-адрес реестра npm.
NO_COLOR Установите значение, чтобы отключить цвета
NO_PROXY Разделённый запятыми список хостов, для которых не используется прокси-сервер (загрузка модулей, fetch)

Последнее обновление: 2 июля 2026 г.

© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/runtime/reference/env_variables

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API