Spec-Zone.ru › Deno 2

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: спецификаторы в своем коде и хотите кэшировать все зависимости перед развертыванием своего проекта.

main.js
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

Spec-Zone.ru

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