Spec-Zone.ru › Deno 2

deno add

Команда deno add добавляет зависимости в файл конфигурации проекта. Это псевдоним команды deno install [PACKAGES]. Подробнее о том, как Deno работает с зависимостями, см. в разделе Модули и зависимости.

Примеры

Добавление пакетов из JSR и npm:

›_
deno add npm:express hono zod
deno add jsr:@std/path
Deno 2.8

По умолчанию имена пакетов без префикса считаются пакетами npm, поэтому префикс npm: больше не требуется в CLI. deno add express эквивалентно deno add npm:express. Для однозначного указания пакетов JSR по-прежнему нужен префикс jsr:. В спецификаторах import по-прежнему требуется префикс npm:.

По умолчанию зависимости добавляются с диапазоном версий, начинающимся с символа каретки (^). Используйте --save-exact, чтобы зафиксировать точную версию:

›_
deno add --save-exact @std/path

При этом зависимость сохраняется без префикса ^ (например, 1.0.0 вместо ^1.0.0).

Где хранятся зависимости

Если в проекте есть файл package.json, пакеты npm будут добавлены в dependencies в package.json. В противном случае все пакеты добавляются в поле imports файла deno.json.

Чтобы принудительно записывать все зависимости в package.json (создав его при необходимости), передайте --package-json (Deno 2.8+):

›_
deno add --package-json npm:express jsr:@std/path

Пакеты JSR, добавленные с помощью --package-json, записываются в совместимом с npm формате (npm:@jsr/...). Этот флаг также работает с командами deno install, deno remove и deno uninstall.

Чтобы сделать это поведением по умолчанию и не передавать флаг каждый раз, задайте параметр "preferPackageJson": true в deno.json.

Использование в командной строке:
deno add [OPTIONS] [packages]...

Добавление зависимостей в файл конфигурации.

deno add express

Пакеты без префикса по умолчанию считаются пакетами npm. Используйте префикс jsr: для пакетов jsr:

deno add jsr:@std/path

Или добавьте сразу несколько зависимостей:

deno add express jsr:@std/path

Параметры

--allow-import, -I<IP_OR_HOSTNAME>необязательно

Разрешить импорт с удалённых хостов. При необходимости укажите разрешённые IP-адреса и имена хостов, а также порты. Значение по умолчанию: deno.land:443,jsr.io:443,esm.sh:443,raw.esm.sh:443,cdn.jsdelivr.net:443,raw.githubusercontent.com:443,gist.githubusercontent.com:443.

--allow-scripts<PACKAGE>необязательно

Разрешить запуск скриптов жизненного цикла npm для указанных пакетов. Примечание: скрипты будут выполняться только при использовании каталога node_modules (--node-modules-dir).

--deny-import<IP_OR_HOSTNAME>необязательно

Запретить импорт с удалённых хостов. При необходимости укажите запрещённые IP-адреса и имена хостов, а также порты.

--dev, -D

Добавить пакет как зависимость для разработки (в devDependencies). Примечание: применяется только при добавлении в файл package.json.

--env-file<FILE>необязательно

Загрузить переменные окружения из локального файла. Используется только первая переменная окружения с заданным ключом. Существующие переменные окружения процесса не перезаписываются, поэтому значения переменных с уже существующими в окружении именами сохраняются. Если в файле .env указано несколько объявлений одной переменной окружения, применяется первое найденное. Порядок определяется последовательностью файлов, переданных в качестве аргументов.

--jsr

Считать, что имена пакетов без префикса обозначают пакеты jsr.

--lockfile-only

Выполнить установку, обновив только файл блокировки.

--minimum-dependency-age<minimum-dependency-age>

(Нестабильный параметр) Возраст в минутах, длительность в формате ISO-8601 или абсолютная временная метка RFC3339 (например, «120» — два часа, «P2D» — два дня, «2025-09-16» — дата отсечения, «2025-09-16T12:00:00+00:00» — время отсечения, «0» — отключить).

--no-save

Установить пакет или пакеты, не добавляя их в файл конфигурации.

--npm

Считать, что имена пакетов без префикса обозначают пакеты npm (по умолчанию).

--package-json

Принудительно использовать package.json для управления зависимостями вместо deno.json.

--save-exact

Сохранить точную версию без символа каретки (^).

--save-optional, -O

Добавить пакет как необязательную зависимость (в optionalDependencies). Примечание: применяется только при добавлении в файл package.json.

--unscoped

Использовать имя пакета без его области видимости в качестве псевдонима (например, jsr:@david/jsonc-morph добавляется как jsonc-morph). На пакеты с явно заданным псевдонимом это не влияет.

Параметры управления зависимостями

--frozen<BOOLEAN>необязательно

Завершить работу с ошибкой, если файл блокировки не актуален.

--lock<FILE>необязательно

Проверить указанный файл блокировки. (Если значение не задано, используется "./deno.lock".)

--no-lock

Отключить автоматический поиск файла блокировки.

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

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

Spec-Zone.ru

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