deno x
deno x запускает пакет из npm или JSR без постоянной установки. Это похоже на npx в экосистеме npm.
Установка псевдонима dx
Для удобства можно установить deno x как отдельный двоичный файл dx, который по умолчанию запускается со всеми разрешениями:
deno x --install-alias
Затем используйте его напрямую:
dx npm:create-vite my-app
Вы можете настроить имя псевдонима:
deno x --install-alias=denox
Основные сведения об использовании
Запустите пакет npm:
deno x npm:create-vite my-app
Запустите пакет JSR:
deno x jsr:@std/http/file-server
Указание пакета отдельно от исполняемого файла
Некоторые пакеты npm предоставляют несколько исполняемых файлов — например, typescript включает и tsc, и tsserver. Начиная с Deno 2.8, --package (-p) позволяет независимо выбирать пакет и исполняемый файл, следуя соглашению npx -p <package> <binary>:
# Run `tsc` from the typescript package
deno x -p typescript tsc
# Pin the package version
deno x -p typescript@5 tsc
Прежняя форма deno x typescript/tsc по-прежнему работает.
Как это работает
deno x загружает пакет в глобальный кэш (если его там ещё нет), определяет точку входа исполняемого файла пакета и запускает его. Пакет не добавляется в deno.json или package.json вашего проекта.
Создание пакета для запуска с помощью deno x
Способ, которым deno x находит исполняемый файл, зависит от реестра:
-
Пакеты npm предоставляют исполняемые файлы через поле
binвpackage.json.deno x npm:<package>запускает исполняемый файл пакета по умолчанию, аdeno x -p <package> <binary>(илиdeno x npm:<package>/<binary>) позволяет выбрать определённый файл, если пакет содержит несколько. Чтобы ваш пакет npm можно было запускать, опубликуйте его с записьюbin, как это делается дляnpx. -
Пакеты JSR запускаются, если указать
deno xна экспорт, который выполняется при импорте, напримерdeno x jsr:@std/http/file-server. Чтобы ваш пакет JSR можно было запускать, предоставьте точку входа как экспорт модуля (защитите побочные эффекты на верхнем уровне с помощьюimport.meta.main, чтобы модуль по-прежнему можно было импортировать как библиотеку), а затем укажите в документации под путь, который следует запускать, напримерdeno x jsr:@you/tool/cli.
Если вы хотите, чтобы инструмент был доступен как постоянная команда, а не запускался по запросу, установите его с помощью deno install или скомпилируйте в автономный исполняемый файл. Полное описание процесса см. в разделе Создание приложений командной строки, а сведения о публикации в JSR — в разделе Публикация модулей.
Разрешения
Запущенный пакет использует указанные вами разрешения:
deno x --allow-read --allow-net npm:serve .
Или предоставьте все разрешения:
deno x -A npm:create-vite my-app
deno x [OPTIONS] [SCRIPT_ARG]...Запуск исполняемого файла из npm или jsr, как с помощью npx
Параметры проверки типов
--check<CHECK_TYPE>необязательно
Включить проверку типов. Эта подкоманда по умолчанию не проверяет типы; добавьте --check=all, чтобы также проверять удалённые модули. Или воспользуйтесь подкомандой 'deno check'.
--no-check<NO_CHECK_TYPE>необязательно
Пропустить проверку типов. Если задано значение "remote", диагностические ошибки удалённых модулей будут игнорироваться.
Параметры управления зависимостями
--cached-onlyТребовать, чтобы удалённые зависимости уже находились в кэше.
--frozen<BOOLEAN>необязательно
Завершить работу с ошибкой, если файл блокировки устарел.
--import-map<FILE>
Загрузить файл карты импортов из локального файла или по удалённому URL.
--lock<FILE>необязательно
Проверить указанный файл блокировки. (Если значение не задано, используется "./deno.lock".)
--no-lockОтключить автоматический поиск файла блокировки.
--no-npmНе разрешать зависимости npm.
--no-remoteНе разрешать удалённые модули.
--node-modules-dir<MODE>необязательно
Выбрать режим каталога node_modules для пакетов npm (не путь). Возможные значения: auto (создать локальный каталог node_modules и установить в него пакеты npm), manual (использовать существующий локальный каталог node_modules без изменений), none (не использовать локальный каталог node_modules; разрешать пакеты npm из глобального кэша). Если флаг указан без значения, по умолчанию используется auto.
--node-modules-linker<MODE>
Задать режим компоновщика для пакетов npm (изолированный или hoisted).
--reload, -r<CACHE_BLOCKLIST>необязательно
Перезагрузить кэш исходного кода (повторно скомпилировать TypeScript). Если значение не указано, перезагружается всё. Передайте список спецификаторов, разделённых запятыми, чтобы перезагрузить только соответствующие модули; npm: перезагружает все модули npm; npm:chalk перезагружает один модуль npm; jsr:@std/http/file-server,jsr:@std/assert/assert-equals перезагружает определённые модули.
--vendor<vendor>необязательно
Включить или отключить использование локальной папки vendor для удалённых модулей и папки node_modules для пакетов npm.
Параметры
--allow-scripts<PACKAGE>необязательно
Разрешить выполнение сценариев жизненного цикла npm для указанных пакетов. Примечание: сценарии выполняются только при использовании каталога node_modules (--node-modules-dir).
--cert<FILE>
Загрузить центр сертификации из файла в кодировке PEM.
--conditions<conditions>
Используйте этот аргумент, чтобы задать пользовательские условия для экспортов пакетов npm. Также можно использовать переменную окружения DENO_CONDITIONS. .
--config, -c<FILE>
Настроить различные аспекты deno, включая TypeScript, линтинг и форматирование кода. Обычно файл конфигурации называется deno.json или deno.jsonc и обнаруживается автоматически; в этом случае этот флаг не нужен.
--env-file<FILE>необязательно
Загрузить переменные окружения из локального файла. Используется только первая переменная окружения с заданным ключом. Существующие переменные окружения процесса не перезаписываются, поэтому значения переменных с теми же именами, уже присутствующих в окружении, сохраняются. Если в файле .env несколько объявлений одной переменной окружения, применяется первое найденное. Порядок определяется последовательностью файлов, переданных в качестве аргументов.
--ignore-scripts<PACKAGE>необязательно
Не запускать сценарии жизненного цикла npm для указанных пакетов.
--install-alias<install-alias>необязательно
Создать псевдоним dx, чтобы запускать dx
--location<HREF>
Значение globalThis.location, используемое некоторыми веб-API.
--minimum-dependency-age<minimum-dependency-age>
(Нестабильный параметр) Возраст в минутах, длительность в формате ISO-8601 или абсолютная временная метка RFC3339 (например, '120' — два часа, 'P2D' — два дня, '2025-09-16' — дата отсечения, '2025-09-16T12:00:00+00:00' — время отсечения, '0' — отключить).
--no-configОтключить автоматическую загрузку файла конфигурации.
--package, -p<package>
Пакет для установки (используйте, если имя исполняемого файла отличается от имени пакета).
--preload<FILE>
Список файлов, которые будут выполнены до основного модуля.
--require<FILE>
Список модулей CommonJS, которые будут выполнены до основного модуля.
--seed<NUMBER>
Задать начальное значение генератора случайных чисел.
--v8-flags<V8_FLAGS>необязательно
Чтобы просмотреть список всех доступных флагов, используйте --v8-flags=--help. Флаги также можно задать с помощью переменной окружения DENO_V8_FLAGS. Флаги, указанные с этим параметром, добавляются после значений переменной окружения DENO_V8_FLAGS.
--yes, -yСчитать подтверждение полученным для всех запросов.
Параметры отладки
--inspect<HOST_PORT>необязательно
Активировать инспектор на host:port [по умолчанию: 127.0.0.1:9229]. Host и port указывать необязательно. При указании порта 0 будет назначен случайный свободный порт.
--inspect-brk<HOST_PORT>необязательно
Активировать инспектор на host:port, дождаться подключения отладчика и остановиться в начале пользовательского скрипта.
--inspect-wait<HOST_PORT>необязательно
Активировать инспектор на host:port и дождаться подключения отладчика, прежде чем выполнять пользовательский код.
Последнее обновление:
© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/runtime/reference/cli/x