Spec-Zone.ru › Node.js 8 LTS

Параметры командной строки

Node.js поставляется с различными параметрами командной строки. Эти параметры предоставляют встроенные возможности отладки, различные способы выполнения скриптов и другие полезные параметры среды выполнения.

Чтобы просмотреть эту документацию в виде страницы справки в терминале, выполните man node.

Синопсис

node [options] [V8 options] [script.js | -e "script" | -] [--] [arguments]

node debug [script.js | -e "script" | <host>:<port>] …

node --v8-options

Выполните без аргументов, чтобы запустить REPL.

Для получения дополнительной информации о node debug, пожалуйста, обратитесь к документации отладчика.

Параметры

-v, --version

Добавлен в: v0.1.3

Вывести версию Node.js.

-h, --help

Добавлен в: v0.1.3

Вывести параметры командной строки Node.js. Вывод этого параметра менее подробный, чем в данной документации.

-e, --eval "script"

История
Версия Изменения
v5.11.0

Встроенные библиотеки теперь доступны как предопределенные переменные.

v0.5.2

Добавлен в: v0.5.2

Выполнить следующий аргумент как JavaScript. Модули, предопределённые в REPL, также могут быть использованы в script.

Примечание: В Windows использование cmd.exe одного одинарного кавычки не будет работать корректно, так как распознаются только двойные " для кавычек. В Powershell или Git bash оба ' и " могут быть использованы.

-p, --print "script"

История
Версия Изменения
v5.11.0

Встроенные библиотеки теперь доступны как предопределенные переменные.

v0.6.4

Добавлен в: v0.6.4

Идентично -e но выводит результат.

-c, --check

Добавлен в: v5.0.0, v4.2.0

Проверить синтаксис скрипта без выполнения.

-i, --interactive

Добавлен в: v0.7.7

Открывает REPL даже если stdin не выглядит как терминал.

-r, --require module

Добавлен в: v1.6.0

Предварительная загрузка указанного модуля при запуске.

Следует правилам разрешения модулей require(). module может быть либо путём к файлу, либо именем модуля Node.js.

--inspect[=[host:]port]

Добавлен в: v6.3.0

Активировать инспектор на хост:порт. По умолчанию 127.0.0.1:9229.

Интеграция инспектора V8 позволяет таким инструментам, как Chrome DevTools и IDE, отлаживать и профилировать экземпляры Node.js. Инструменты подключаются к экземплярам Node.js через TCP-порт и общаются с помощью протокола отладки Chrome.

--inspect-brk[=[host:]port]

Добавлен в: v7.6.0

Активировать инспектор на хост:порт и остановить на начале пользовательского скрипта. По умолчанию хост:порт — 127.0.0.1:9229.

--inspect-port=[host:]port

Добавлен в: v7.6.0

Установить хост:порт, используемый при активации инспектора. Полезно при активации инспектора путём отправки сигнала SIGUSR1.

По умолчанию хост — 127.0.0.1.

--no-deprecation

Добавлен в: v0.8.0

Отключить предупреждения о устаревших методах.

--trace-deprecation

Добавлен в: v0.8.0

Вывести трассировки стека для устаревших методов.

--throw-deprecation

Добавлен в: v0.11.14

Выбрасывать ошибки для устаревших методов.

--pending-deprecation

Добавлен в: v8.0.0

Выводить предупреждения о предстоящем устаревании методов.

Примечание: Предупреждения о предстоящем устаревании методов в целом идентичны предупреждениям о устаревших методах во время выполнения, за исключением того, что они по умолчанию отключены и не будут выводиться, если не установлен флаг командной строки --pending-deprecation или переменная среды NODE_PENDING_DEPRECATION=1. Предупреждения о предстоящем устаревании методов предназначены для предоставления механизма "раннего предупреждения", который разработчики могут использовать для обнаружения использования устаревших API.

--no-warnings

Добавлен в: v6.0.0

Отключить все предупреждения процесса (включая предупреждения о устаревших методах).

--expose-http2

Добавлен в: v8.4.0

Включить экспериментальный модуль 'http2'.

--abort-on-uncaught-exception

Добавлен в: v0.10

Прерывание вместо выхода приводит к генерации файла core для анализа после завершения работы с помощью отладчика (например, lldb, gdb, и mdb).

--trace-warnings

Добавлен в: v6.0.0

Выводить трассировки стека для предупреждений процесса (включая предупреждения о устаревших методах).

--redirect-warnings=file

Добавлен в: v8.0.0

Записывать предупреждения процесса в указанный файл вместо вывода в stderr. Файл будет создан, если он не существует, и будет добавлен в конец, если он существует. Если при попытке записи предупреждения в файл произойдёт ошибка, предупреждение будет выведено в stderr.

--trace-sync-io

Добавлен в: v2.1.0

Выводит трассировку стека всякий раз, когда обнаруживается синхронное ввод/вывод после первого цикла обработки событий.

--force-async-hooks-checks

Добавлен в: v8.8.0

Включает проверки времени выполнения для async_hooks. Их также можно динамически включить, включив один из async_hooks хуков.

--trace-events-enabled

Добавлен в: v7.7.0

Включает сбор данных трассировки событий.

--trace-event-categories

Добавлен в: v7.7.0

Список категорий, которые должны быть отслежены при включении трассировки событий с помощью --trace-events-enabled.

--trace-event-file-pattern

Добавлен в: v8.12.0

Шаблонная строка, определяющая путь к файлу для данных трассировки событий, поддерживает ${rotation} и ${pid}.

--zero-fill-buffers

Добавлен в: v6.0.0

Автоматически заполняет нулями все недавно выделенные буферы Buffer и SlowBuffer.

--preserve-symlinks

Добавлен в: v6.3.0

Инструктирует загрузчик модулей сохранять символические ссылки при разрешении и кэшировании модулей.

По умолчанию, когда Node.js загружает модуль из пути, который символически ссылается на другое место на диске, Node.js дереферирует ссылку и использует фактический диск «полный путь» модуля как идентификатор, а также как корневой путь для поиска зависимых модулей. В большинстве случаев это поведение по умолчанию приемлемо. Однако при использовании символически связанных зависимостей «peer», как показано в примере ниже, поведение по умолчанию приводит к исключению, если moduleA пытается загрузить moduleB как зависимость «peer»:

{appDir}
 ├── app
 │   ├── index.js
 │   └── node_modules
 │       ├── moduleA -> {appDir}/moduleA
 │       └── moduleB
 │           ├── index.js
 │           └── package.json
 └── moduleA
     ├── index.js
     └── package.json

Флаг командной строки --preserve-symlinks инструктирует Node.js использовать путь символической ссылки для модулей, а не фактический путь, что позволяет находить символически связанные зависимости «peer».

Обратите внимание, однако, что использование --preserve-symlinks может иметь и другие побочные эффекты. В частности, символически связанные нативные модули могут не загружаться, если они связаны из нескольких мест в дереве зависимостей (Node.js увидит их как два отдельных модуля и попытается загрузить модуль несколько раз, что приведёт к исключению).

--track-heap-objects

Добавлен в: v2.4.0

Отслеживать выделения объектов кучи для создания снимков кучи.

--prof-process

Добавлен в: v5.2.0

Обрабатывает вывод профилировщика V8, сгенерированный с помощью параметра V8 --prof.

--v8-options

Добавлен в: v0.1.3

Вывести параметры командной строки V8.

Примечание: параметры V8 позволяют разделять слова как дефисами (-) так и нижними подчеркиваниями (_).

Например, --stack-trace-limit эквивалентно --stack_trace_limit.

--tls-cipher-list=list

Добавлен в: v4.0.0

Указать альтернативный список шифров TLS по умолчанию. (Требуется, чтобы Node.js был скомпилирован с поддержкой криптографии. (По умолчанию))

--enable-fips

Добавлен в: v6.0.0

Включить криптографию, соответствующую стандарту FIPS, при запуске. (Требуется, чтобы Node.js был скомпилирован с ./configure --openssl-fips)

--force-fips

Добавлен в: v6.0.0

Вынужденно использовать криптографию, соответствующую стандарту FIPS, при запуске. (Не может быть отключено из кода скрипта.) (Те же требования, что и у --enable-fips).

--openssl-config=file

Добавлен в: v6.9.0

Загрузить файл конфигурации OpenSSL при запуске. Среди прочего, это можно использовать для включения криптографии, соответствующей стандарту FIPS, если Node.js скомпилирован с ./configure --openssl-fips.

--use-openssl-ca, --use-bundled-ca

Добавлен в: v7.5.0

Использовать хранилище сертификатов по умолчанию OpenSSL или хранилище сертификатов Mozilla, поставляемое с текущей версией Node.js. Хранилище по умолчанию выбирается во время компиляции.

Использование хранилища OpenSSL позволяет выполнять внешние изменения в хранилище. Для большинства дистрибутивов Linux и BSD это хранилище поддерживается разработчиками дистрибутива и системными администраторами. Расположение хранилища сертификатов OpenSSL зависит от конфигурации библиотеки OpenSSL, но это можно изменить во время выполнения, используя переменные среды.

Пакетный хранилище сертификатов CA, предоставленный Node.js, представляет собой моментальный снимок хранилища сертификатов CA Mozilla, который фиксируется на этапе выпуска. Он идентичен на всех поддерживаемых платформах.

См. SSL_CERT_DIR и SSL_CERT_FILE.

--icu-data-dir=file

Добавлен в: v0.11.15

Укажите путь загрузки данных ICU. (переопределяет NODE_ICU_DATA)

-

Добавлен в: v8.0.0

Псевдоним для stdin, аналогичный использованию - в других утилитах командной строки, означающий, что скрипт будет считан из stdin, а остальные параметры будут переданы этому скрипту.

--

Добавлен в: v7.5.0

Указывает конец параметров Node.js. Передает остальные аргументы скрипту. Если до этого не был указан имя файла скрипта или скрипт eval/print, то следующий аргумент будет использован как имя файла скрипта.

--max-http-header-size=size

Добавлен в: v8.15.0

Укажите максимальный размер заголовков HTTP в байтах. По умолчанию 8 КБ.

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

NODE_DEBUG=module[,…]

Добавлен в: v0.1.32

Список модулей ядра, разделенных символом «-», для которых должна выводиться отладочная информация.

NODE_PATH=path[:…]

Добавлен в: v0.1.32

Список каталогов, разделенных двоеточием, которые добавляются в начало пути поиска модулей.

Примечание: В Windows это список, разделенный символом «;».

NODE_DISABLE_COLORS=1

Добавлен в: v0.3.0

При установке в 1 цвета не будут использоваться в REPL.

NODE_ICU_DATA=file

Добавлен в: v0.11.15

Путь к данным ICU (объект Intl). Расширит связанные данные при компиляции с поддержкой small-icu.

NODE_NO_WARNINGS=1

Добавлен в: v7.5.0

При установке в 1 предупреждения процесса будут отключены.

NODE_NO_HTTP2=1

Добавлен в: v8.8.0

При установке в 1, модуль http2 будет отключен.

NODE_OPTIONS=options...

Добавлен в: v8.0.0

Список параметров командной строки, разделенных пробелами. options... интерпретируются так, как если бы они были указаны в командной строке до фактической команды (чтобы их можно было переопределить). Node завершит работу с ошибкой, если используется параметр, который запрещен в среде, например, -p или файл скрипта.

Разрешенные параметры Node.js:

  • --enable-fips
  • --force-fips
  • --icu-data-dir
  • --inspect-brk
  • --inspect-port
  • --inspect
  • --max-http-header-size
  • --no-deprecation
  • --no-warnings
  • --openssl-config
  • --redirect-warnings
  • --require, -r
  • --throw-deprecation
  • --tls-cipher-list
  • --trace-deprecation
  • --trace-events-categories
  • --trace-events-enabled
  • --trace-event-file-pattern
  • --trace-sync-io
  • --trace-warnings
  • --track-heap-objects
  • --use-bundled-ca
  • --use-openssl-ca
  • --v8-pool-size
  • --zero-fill-buffers

Разрешенные параметры V8:

  • --abort-on-uncaught-exception
  • --max-old-space-size
  • --perf-basic-prof
  • --perf-prof
  • --stack-trace-limit

NODE_PENDING_DEPRECATION=1

Добавлен в: v8.0.0

При установке в 1, выводятся предупреждения о предстоящем устаревании.

Примечание: Предстоящие устаревшие API в основном идентичны устаревшим API во время выполнения, за исключением того, что они по умолчанию отключены и не будут выводиться, если не установлен флаг командной строки --pending-deprecation или переменная окружения NODE_PENDING_DEPRECATION=1. Предстоящие устаревшие API используются для обеспечения механизма выборочного «предупреждения» для разработчиков, которые могут использовать его для обнаружения устаревших API.

NODE_PRESERVE_SYMLINKS=1

Добавлен в: v7.1.0

При установке в 1, загрузчик модулей сохраняет символические ссылки при разрешении и кэшировании модулей.

NODE_REPL_HISTORY=file

Добавлен в: v3.0.0

Путь к файлу, используемому для сохранения истории REPL. Путь по умолчанию ~/.node_repl_history, который переопределяется этой переменной. Установка значения в пустую строку ('' или ' ') отключает постоянную историю REPL.

NODE_EXTRA_CA_CERTS=file

Добавлен в: v7.3.0

При установке, хорошо известные сертификаты «корневых» CA (например, VeriSign) будут дополнены дополнительными сертификатами в file. Файл должен содержать один или несколько доверенных сертификатов в формате PEM. Сообщение будет выведено (один раз) с помощью process.emitWarning(), если файл отсутствует или имеет неправильный формат, но любые другие ошибки игнорируются.

Обратите внимание, что ни хорошо известные, ни дополнительные сертификаты не используются, если свойство параметров ca явно указано для клиента или сервера TLS или HTTPS.

OPENSSL_CONF=file

Добавлен в: v7.7.0

Загрузить файл конфигурации OpenSSL при запуске. Среди прочего, это можно использовать для включения криптографии, соответствующей стандарту FIPS, если Node.js скомпилирован с ./configure --openssl-fips.

Если используется параметр командной строки --openssl-config, переменная окружения игнорируется.

SSL_CERT_DIR=dir

Добавлен в: v7.7.0

Если --use-openssl-ca включено, это переопределяет и устанавливает каталог OpenSSL, содержащий доверенные сертификаты.

Примечание: Учитывайте, что если среда дочернего процесса не задана явно, эта переменная окружения будет унаследована любыми дочерними процессами, и если они используют OpenSSL, это может привести к тому, что они будут доверять тем же CA, что и node.

SSL_CERT_FILE=file

Добавлен в: v7.7.0

Если --use-openssl-ca включено, это переопределяет и устанавливает файл OpenSSL, содержащий доверенные сертификаты.

Примечание: Учитывайте, что если среда дочернего процесса не задана явно, эта переменная окружения будет унаследована любыми дочерними процессами, и если они используют OpenSSL, это может привести к тому, что они будут доверять тем же CA, что и node.

NODE_REDIRECT_WARNINGS=file

Добавлен в: v8.0.0

При установке предупреждения процесса будут выводиться в указанный файл вместо вывода в stderr. Файл будет создан, если он не существует, и будет добавлен к нему, если он существует. Если при попытке записи предупреждения в файл произошла ошибка, предупреждение будет записано в stderr вместо этого. Это эквивалентно использованию флага командной строки --redirect-warnings=file.

UV_THREADPOOL_SIZE=size

Установите количество потоков, используемых в пуле потоков libuv, на size потоков.

Node.js по возможности использует асинхронные системные API, но там, где они отсутствуют, используется пул потоков libuv для создания асинхронных API Node.js на основе синхронных системных API. API Node.js, использующие пул потоков:

  • все fs API, кроме API наблюдателя за файлами и тех, которые явно синхронны
  • crypto.pbkdf2()
  • crypto.randomBytes(), за исключением случаев, когда он используется без обратного вызова
  • crypto.randomFill()
  • dns.lookup()
  • все zlib API, кроме тех, которые явно синхронны

Поскольку пул потоков libuv имеет фиксированный размер, это означает, что если по какой-либо причине любой из этих API работает длительное время, другие (похоже, не связанные) API, работающие в пуле потоков libuv, будут испытывать снижение производительности. Чтобы смягчить эту проблему, одним из возможных решений является увеличение размера пула потоков libuv, установив переменную окружения 'UV_THREADPOOL_SIZE' на значение больше, чем 4 (ее текущее значение по умолчанию). Для получения дополнительной информации см. документацию по пулу потоков libuv.

© Joyent, Inc. and other Node contributors
Licensed under the MIT License.
Node.js is a trademark of Joyent, Inc. and is used with its permission.
We are not endorsed by or affiliated with Joyent.
https://nodejs.org/dist/latest-v8.x/docs/api/cli.html

Spec-Zone.ru

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