deno install
Использование в командной строке
deno install [OPTIONS] [cmd]...Устанавливает зависимости в локальном проекте или глобально в каталоге bin.
Локальная установка
Добавьте зависимости в конфигурацию локального проекта (deno.json / package.json) и установите их в кэше пакетов. Если зависимости не указаны, устанавливаются все зависимости, перечисленные в файле конфигурации. Если передан флаг --entrypoint, устанавливаются зависимости указанного(ых) пункта(ов) входа.
deno install
deno install jsr:@std/bytes
deno install npm:chalk
deno install --entrypoint entry1.ts entry2.ts
Глобальная установка
Если установлен флаг --global, скрипт устанавливается как исполняемый файл в каталоге bin корневой установки.
deno install --global --allow-net --allow-read jsr:@std/http/file-server
deno install -g https://examples.deno.land/color-logging.ts
Чтобы изменить имя исполняемого файла, используйте -n/
--name
:
deno install -g --allow-net --allow-read -n serve jsr:@std/http/file-server
Имя исполняемого файла определяется по умолчанию:
- Попытка взять имя файла из пути URL. В приведенном выше примере это станет
file_server. - Если имя файла является общим, например,
main,mod,indexилиcli, а путь не содержит родительского каталога, возьмите имя файла родительского каталога. В противном случае воспользуйтесь общим именем. - Если полученное имя имеет суффикс
@..., удалите его.
Чтобы изменить корневой каталог установки, используйте
--root
:
deno install -g --allow-net --allow-read --root /usr/local jsr:@std/http/file-server
Корневой каталог установки определяется в порядке приоритета:
-
--rootпараметр -
DENO_INSTALL_ROOTпеременная среды $HOME/.deno
Эти параметры необходимо добавить в путь вручную, если это необходимо.
Параметры проверки типов
--check
Устанавливает поведение проверки типов. По умолчанию этот подкоманда проверяет локальные модули, поэтому добавление --check излишне. Если значение "all" предоставлено, будут включены удаленные модули. В качестве альтернативы можно использовать подкоманду «deno check».
--no-check
Пропуск проверки типов. Если указано значение «remote», диагностические ошибки удаленных модулей будут игнорироваться.
Параметры управления зависимостями
--cached-only
Требуется, чтобы удаленные зависимости уже были в кэше.
--frozen
Выход с ошибкой, если файл блокировки устарел.
--import-map
Загрузка файла карты импорта из локального файла или удаленного URL.
--lock
Проверка указанного файла блокировки. (Если значение не указано, используется «./deno.lock»).
--no-lock
Отключить автоматическое обнаружение файла блокировки.
--no-npm
Не разрешать модули npm.
--no-remote
Не разрешать удаленные модули.
--node-modules-dir
Устанавливает режим управления каталогом node_modules для пакетов npm.
--reload
Короткая форма: -r
Перезагрузка кэша исходного кода (перекомпиляция TypeScript) без значения. Перезагрузить все jsr:@std/http/file-server,jsr:@std/assert/assert-equals. Перезагружает определенные модули. npm: перезагрузка всех модулей npm. npm:chalk перезагрузка определенного модуля npm.
--vendor
Включает или отключает использование локальной папки vendor для удаленных модулей и папки node_modules для пакетов npm.
Параметры
--allow-scripts
Разрешить выполнение скриптов жизненного цикла npm для заданных пакетов. Примечание: скрипты будут выполняться только при использовании каталога node_modules (--node-modules-dir).
--cert
Загрузить центр сертификации из файла в формате PEM.
--config
Короткая форма: -c
Настроить различные аспекты deno, включая TypeScript, линтеры и форматирование кода. Обычно файл конфигурации называется deno.json или deno.jsonc и обнаруживается автоматически; в этом случае этот флаг не нужен.
--dev
Короткая форма: -D
Добавить в качестве зависимости разработки.
--entrypoint
Короткая форма: -e
Установить зависимости указанного(ых) пункта(ов) входа.
--env-file
Загрузка переменных среды из локального файла. Используется только первая переменная среды с заданным ключом. Существующие переменные среды процесса не перезаписываются, поэтому, если переменные с одинаковыми именами уже существуют в среде, их значения сохранятся. В случае множественных объявлений одной и той же переменной среды в вашем файле .env применяется первая встреченная. Это определяется порядком файлов, которые вы передаёте как аргументы.
--force
Короткая форма: -f
Принудительно перезаписать существующую установку.
--global
Короткая форма: -g
Установить пакет или скрипт в качестве глобально доступного исполняемого файла.
--location
Значение globalThis.location, используемое некоторыми веб-API.
--name
Короткая форма: -n
Имя файла исполняемого файла.
--no-config
Отключить автоматическую загрузку файла конфигурации.
--root
Корневой каталог установки.
--seed
Установить начальное значение генератора случайных чисел.
--v8-flags
Чтобы увидеть список всех доступных флагов, используйте --v8-flags=--help. Флаги также можно установить через переменную среды DENO_V8_FLAGS. Любые флаги, установленные с этим флагом, добавляются после переменной среды DENO_V8_FLAGS.
Параметры отладки
--inspect
Активировать инспектор на хосте:порту [по умолчанию: 127.0.0.1:9229]
--inspect-brk
Активировать инспектор на хосте:порту, подождать подключения отладчика и прервать выполнение в начале пользовательского скрипта.
--inspect-wait
Активировать инспектор на хосте:порту и подождать подключения отладчика перед запуском пользовательского кода.
Примеры
deno install
Используйте эту команду для установки всех зависимостей, определенных в deno.json и/или package.json.
Зависимости будут установлены в глобальном кэше, но если в вашем проекте есть файл package.json, также будет создан локальный каталог node_modules.
deno install [ПАКЕТЫ]
Используйте эту команду для установки определенных пакетов и добавления их в deno.json или package.json.
$ deno install jsr:@std/testing npm:express
Вы также можете использовать deno add, который является псевдонимом для deno install [PACKAGES]
Если в вашем проекте есть файл package.json, пакеты, полученные из npm, будут добавлены в dependencies в package.json. В противном случае все пакеты будут добавлены в deno.json.
deno install --entrypoint [Файлы]
Используйте эту команду для установки всех зависимостей, используемых в предоставленных файлах и их зависимостях.
Это особенно полезно, если вы используете jsr:, npm:, http: или https: спецификаторы в своем коде и хотите кэшировать все зависимости перед развертыванием своего проекта.
import * as colors from "jsr:@std/fmt/colors";
import express from "npm:express";
$ deno install -e main.js
Download jsr:@std/fmt
Download npm:express
Если вы хотите настроить локальный каталог node_modules, вы можете передать флаг --node-modules-dir=auto.
Некоторые зависимости могут работать некорректно без локального каталога node_modules.
deno install --global [ПАКЕТ_ИЛИ_URL]
Используйте эту команду для установки предоставленного пакета или скрипта в качестве глобально доступного бинарного файла на вашей системе.
Эта команда создает тонкий, исполняемый скрипт оболочки, который вызывает deno с указанными флагами командной строки и основным модулем. Он размещается в каталоге bin корневой папки установки.
Пример:
$ deno install --global --allow-net --allow-read jsr:@std/http/file-server
Download jsr:@std/http/file-server...
✅ Successfully installed file-server.
/Users/deno/.deno/bin/file-server
Чтобы изменить имя исполняемого файла, используйте -n/--name:
deno install -g -N -R -n serve jsr:@std/http/file-server
Имя исполняемого файла определяется по умолчанию:
- Попытка взять имя файла из пути URL. В приведенном выше примере это станет 'file-server'.
- Если имя файла является чем-то общим, например, 'main', 'mod', 'index' или 'cli', и путь не имеет родительского каталога, возьмите имя файла родительского пути. В противном случае воспользуйтесь общим именем.
- Если полученное имя имеет суффикс '@...', удалите его.
Чтобы изменить корневую папку установки, используйте --root:
deno install -g -N -R --root /usr/local jsr:@std/http/file-server
Корневая папка установки определяется в порядке приоритета:
-
--rootпараметр -
DENO_INSTALL_ROOTпеременная среды $HOME/.deno
Эти значения должны быть добавлены в путь вручную, если это необходимо.
echo 'export PATH="$HOME/.deno/bin:$PATH"' >> ~/.bashrc
Вы должны указать разрешения, которые будут использоваться для запуска скрипта во время установки.
deno install -g -N -R jsr:@std/http/file-server -- -p 8080
Вышеприведенная команда создает исполняемый файл, названный file_server, который работает с разрешениями на сетевой доступ и чтение и привязывается к порту 8080.
Для лучшей практики используйте идиому import.meta.main, чтобы указать точку входа в исполняемый скрипт.
Пример:
// https://example.com/awesome/cli.ts
async function myAwesomeCli(): Promise<void> {
// -- snip --
}
if (import.meta.main) {
myAwesomeCli();
}
При создании исполняемого скрипта убедитесь, что пользователи знают об этом, добавив пример команды установки в свой репозиторий:
# Install using deno install
$ deno install -n awesome_cli https://example.com/awesome/cli.ts
Нативные дополнения Node.js
Многие популярные пакеты npm, такие как npm:sqlite3 или npm:duckdb, зависят от "скриптов жизненного цикла", например, preinstall или postinstall скриптов. Чаще всего для корректной работы пакета требуется запуск этих скриптов.
В отличие от npm, Deno по умолчанию не запускает эти скрипты, так как они представляют потенциальную угрозу безопасности.
Вы по-прежнему можете запустить эти скрипты, передав флаг --allow-scripts=<packages> при выполнении deno install:
deno install --allow-scripts=npm:sqlite3
Установите все зависимости и разрешите пакету npm:sqlite3 запустить свои скрипты жизненного цикла.
Удаление
Вы можете удалить зависимости или бинарные скрипты с помощью команды deno uninstall:
$ deno uninstall express
Removed express
$ deno uninstall -g file-server
deleted /Users/deno/.deno/bin/file-server
✅ Successfully uninstalled file-server
См. deno uninstall страницу для получения более подробной информации.
© 2018–2024 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/runtime/reference/cli/install