エラー
Node.js で実行されているアプリケーションは、一般的に次の 4 つのカテゴリのエラーを経験します。
- <EvalError>、<SyntaxError>、<RangeError>、<ReferenceError>、<TypeError>、および<URIError>などの標準的な JavaScript エラー。
- 存在しないファイルを開こうとしたり、閉じられたソケットを介してデータを送信しようとするなど、基盤となるオペレーティングシステムの制約によってトリガーされるシステムエラー。
- アプリケーションコードによってトリガーされるユーザー指定のエラー。
AssertionError
は、Node.js が、発生してはならない例外的なロジック違反を検出したときにトリガーされる可能性がある特別なクラスのエラーです。これらは通常、node:assert
モジュールによって発生します。
Node.js によって発生したすべての JavaScript およびシステムエラーは、標準の JavaScript <Error>クラスを継承するか、そのインスタンスであり、そのクラスで利用可能なプロパティを少なくとも提供することが保証されています。
エラーの伝播とインターセプト
Node.js は、アプリケーションの実行中に発生するエラーを伝播および処理するためのいくつかのメカニズムをサポートしています。これらのエラーがどのように報告および処理されるかは、Error
のタイプと呼び出される API のスタイルによって完全に異なります。
すべての JavaScript エラーは、標準の JavaScript throw
メカニズムを使用してエラーをすぐに生成およびスローする例外として処理されます。これらは、JavaScript 言語によって提供されるtry…catch
構文を使用して処理されます。
// zが定義されていないため、ReferenceErrorでスローします。
try {
const m = 1
const n = m + z
} catch (err) {
// エラーをここで処理します。
}
JavaScript のthrow
メカニズムを使用すると、例外が発生し、処理する必要があり、そうしないと Node.js プロセスがすぐに終了します。
いくつかの例外を除いて、同期API(<Promise>を返さない、またはfs.readFileSync
などのcallback
関数を受け入れないすべてのブロッキングメソッド)は、エラーを報告するためにthrow
を使用します。
非同期 API内で発生するエラーは、複数の方法で報告される場合があります。
- 一部の非同期メソッドは<Promise>を返します。常に拒否される可能性があることを考慮する必要があります。未処理の Promise の拒否に対するプロセスの反応については、
--unhandled-rejections
フラグを参照してください。 callback
関数を受け入れるほとんどの非同期メソッドは、その関数の最初の引数として渡されるError
オブジェクトを受け入れます。最初の引数がnull
ではなく、Error
のインスタンスである場合、処理する必要があるエラーが発生しました。- 非同期メソッドが、
EventEmitter
であるオブジェクトで呼び出されると、エラーはそのオブジェクトの'error'
イベントにルーティングできます。 - Node.js API の一部の通常非同期メソッドは、
try…catch
を使用して処理する必要がある例外を発生させるためにthrow
メカニズムを引き続き使用する場合があります。このようなメソッドの包括的なリストはありません。必要な適切なエラー処理メカニズムを判断するには、各メソッドのドキュメントを参照してください。
'error'
イベントメカニズムの使用は、ストリームベースおよびイベントエミッターベースの API で最も一般的です。これらは、それ自体が(成功または失敗する可能性のある単一の操作とは対照的に)時間の経過に伴う一連の非同期操作を表します。
すべてのEventEmitter
オブジェクトの場合、'error'
イベントハンドラーが提供されていない場合、エラーがスローされ、Node.js プロセスがキャッチされない例外を報告してクラッシュします。ただし、'uncaughtException'
イベントのハンドラーが登録されている場合、または非推奨のnode:domain
モジュールが使用されている場合は例外です。
const EventEmitter = require('node:events')
const ee = new EventEmitter()
setImmediate(() => {
// 'error'イベントハンドラーが追加されていないため、これはプロセスをクラッシュさせます。
ee.emit('error', new Error('これはクラッシュします'))
})
このように生成されたエラーは、呼び出し元のコードがすでに終了した後にスローされるため、try…catch
を使用してインターセプトできません。
開発者は、各メソッドのドキュメントを参照して、それらのメソッドによって発生したエラーが正確にどのように伝播されるかを判断する必要があります。
クラス: Error
Error
は、エラーが発生した特定の状況を示さない、汎用的な JavaScript の <Error> オブジェクトです。Error
オブジェクトは、Error
がインスタンス化されたコード内のポイントを詳細に示す「スタックトレース」をキャプチャし、エラーのテキスト記述を提供できます。
すべてのシステムエラーおよび JavaScript エラーを含む、Node.js によって生成されたすべてのエラーは、Error
クラスのインスタンスであるか、Error
クラスから継承されます。
new Error(message[, options])
新しい Error
オブジェクトを作成し、error.message
プロパティに指定されたテキストメッセージを設定します。オブジェクトが message
として渡された場合、テキストメッセージは String(message)
を呼び出すことによって生成されます。cause
オプションが指定された場合、それは error.cause
プロパティに割り当てられます。error.stack
プロパティは、new Error()
が呼び出されたコード内のポイントを表します。スタックトレースは、V8 のスタックトレース APIに依存します。スタックトレースは、(a)同期コード実行の開始、または(b)プロパティ Error.stackTraceLimit
によって与えられたフレーム数のいずれか小さい方までしか拡張されません。
Error.captureStackTrace(targetObject[, constructorOpt])
targetObject
<Object>constructorOpt
<Function>
targetObject
に .stack
プロパティを作成します。このプロパティにアクセスすると、Error.captureStackTrace()
が呼び出されたコード内の場所を表す文字列が返されます。
const myObject = {}
Error.captureStackTrace(myObject)
myObject.stack // `new Error().stack` と同様
トレースの最初の行には${myObject.name}: ${myObject.message}
がプレフィックスとして付加されます。
オプションの constructorOpt
引数は関数を受け入れます。指定された場合、constructorOpt
を含む、constructorOpt
より上のすべてのフレームは、生成されたスタックトレースから省略されます。
constructorOpt
引数は、エラー生成の実装詳細をユーザーから隠すのに役立ちます。例えば:
function a() {
b()
}
function b() {
c()
}
function c() {
// スタックトレースを2回計算するのを避けるために、スタックトレースなしでエラーを作成します。
const { stackTraceLimit } = Error
Error.stackTraceLimit = 0
const error = new Error()
Error.stackTraceLimit = stackTraceLimit
// 関数bより上のスタックトレースをキャプチャします。
Error.captureStackTrace(error, b) // 関数cもbもスタックトレースに含まれません。
throw error
}
a()
Error.stackTraceLimit
Error.stackTraceLimit
プロパティは、スタックトレースによって収集されるスタックフレームの数(new Error().stack
または Error.captureStackTrace(obj)
によって生成されるかどうかにかかわらず)を指定します。
デフォルト値は 10
ですが、有効な JavaScript 数値に設定できます。変更は、値が変更された後にキャプチャされたスタックトレースに影響します。
数値以外の値、または負の数値に設定した場合、スタックトレースはフレームをキャプチャしません。
error.cause
追加: v16.9.0
存在する場合、error.cause
プロパティは Error
の根本的な原因です。エラーをキャッチし、元のエラーにアクセスできるように、異なるメッセージまたはコードで新しいエラーをスローする場合に使用されます。
error.cause
プロパティは通常、new Error(message, { cause })
を呼び出すことで設定されます。cause
オプションが提供されない場合、コンストラクターによって設定されません。
このプロパティを使用すると、エラーをチェーン化できます。Error
オブジェクトをシリアル化する場合、util.inspect()
は、error.cause
が設定されている場合は再帰的にシリアル化します。
const cause = new Error('リモート HTTP サーバーが 500 ステータスで応答しました')
const symptom = new Error('メッセージの送信に失敗しました', { cause })
console.log(symptom)
// 次のように出力されます。
// Error: メッセージの送信に失敗しました
// at REPL2:1:17
// at Script.runInThisContext (node:vm:130:12)
// ... cause スタックトレースに一致する 7 行 ...
// at [_line] [as _line] (node:internal/readline/interface:886:18) {
// [cause]: Error: リモート HTTP サーバーが 500 ステータスで応答しました
// at REPL1:1:15
// at Script.runInThisContext (node:vm:130:12)
// at REPLServer.defaultEval (node:repl:574:29)
// at bound (node:domain:426:15)
// at REPLServer.runBound [as eval] (node:domain:437:12)
// at REPLServer.onLine (node:repl:902:10)
// at REPLServer.emit (node:events:549:35)
// at REPLServer.emit (node:domain:482:12)
// at [_onLine] [as _onLine] (node:internal/readline/interface:425:12)
// at [_line] [as _line] (node:internal/readline/interface:886:18)
error.code
error.code
プロパティは、エラーの種類を識別する文字列ラベルです。error.code
はエラーを識別する最も安定した方法です。Node.js のメジャーバージョン間でしか変更されません。対照的に、error.message
文字列は Node.js のどのバージョン間でも変更される可能性があります。特定のコードの詳細については、Node.js エラーコード を参照してください。
error.message
error.message
プロパティは、new Error(message)
を呼び出すことによって設定されたエラーの文字列記述です。コンストラクタに渡された message
は Error
のスタックトレースの最初の行にも表示されますが、Error
オブジェクトが作成された後にこのプロパティを変更しても、スタックトレースの最初の行が変更されない場合があります(例えば、error.stack
がこのプロパティが変更される前に読み取られる場合)。
const err = new Error('The message')
console.error(err.message)
// Prints: The message
error.stack
error.stack
プロパティは、Error
がインスタンス化されたコード内のポイントを記述する文字列です。
Error: Things keep happening!
at /home/gbusey/file.js:525:2
at Frobnicator.refrobulate (/home/gbusey/business-logic.js:424:21)
at Actor.<anonymous> (/home/gbusey/actors.js:400:8)
at increaseSynergy (/home/gbusey/actors.js:701:6)
最初の行は \<エラークラス名\>: \<エラーメッセージ\>
としてフォーマットされ、その後に一連のスタックフレーム(各行は "at " で始まる)が続きます。各フレームは、エラーの生成につながったコード内の呼び出しサイトを記述します。V8 は各関数(変数名、関数名、またはオブジェクトメソッド名による)の名前を表示しようとしますが、適切な名前を見つけることができない場合があります。V8 が関数の名前を判断できない場合、そのフレームには場所情報のみが表示されます。それ以外の場合は、決定された関数名が場所情報を括弧で囲んで表示されます。
フレームは JavaScript 関数に対してのみ生成されます。例えば、実行が C++ アドオン関数 cheetahify
を同期的に通過し、その関数が JavaScript 関数を呼び出す場合、cheetahify
呼び出しを表すフレームはスタックトレースに存在しません。
const cheetahify = require('./native-binding.node')
function makeFaster() {
// `cheetahify()` は *同期的に* speedy を呼び出す。
cheetahify(function speedy() {
throw new Error('oh no!')
})
}
makeFaster()
// will throw:
// /home/gbusey/file.js:6
// throw new Error('oh no!');
// ^
// Error: oh no!
// at speedy (/home/gbusey/file.js:6:11)
// at makeFaster (/home/gbusey/file.js:5:3)
// at Object.<anonymous> (/home/gbusey/file.js:10:1)
// at Module._compile (module.js:456:26)
// at Object.Module._extensions..js (module.js:474:10)
// at Module.load (module.js:356:32)
// at Function.Module._load (module.js:312:12)
// at Function.Module.runMain (module.js:497:10)
// at startup (node.js:119:16)
// at node.js:906:3
場所情報は次のいずれかになります。
native
: フレームが V8 内部の呼び出しを表す場合([].forEach
など)。plain-filename.js:line:column
: フレームが Node.js 内部の呼び出しを表す場合。/absolute/path/to/file.js:line:column
: フレームがユーザープログラム(CommonJS モジュールシステムを使用)またはその依存関係の呼び出しを表す場合。\<transport-protocol\>:///url/to/module/file.mjs:line:column
: フレームがユーザープログラム(ES モジュールシステムを使用)またはその依存関係の呼び出しを表す場合。
スタックトレースを表す文字列は、error.stack
プロパティが アクセスされた ときに遅延生成されます。
スタックトレースによってキャプチャされるフレームの数は、Error.stackTraceLimit
または現在のイベントループティックで利用可能なフレームの数のうち、小さい方によって制限されます。
クラス: AssertionError
- 拡張: <errors.Error>
アサーションの失敗を示します。詳細については、Class: assert.AssertionError
を参照してください。
クラス: RangeError
- 拡張: <errors.Error>
提供された引数が、関数の許容値のセットまたは範囲内にないことを示します。数値範囲であるか、特定の関数パラメーターのオプションのセット外であるかに関係ありません。
require('node:net').connect(-1)
// "RangeError: "port" option should be >= 0 and < 65536: -1" をスローします
Node.js は、引数検証の形式として、RangeError
インスタンスを即座に生成してスローします。
クラス: ReferenceError
- 拡張: <errors.Error>
定義されていない変数にアクセスしようとしていることを示します。このようなエラーは、一般的にコードのタイプミスや、それ以外の破損したプログラムを示します。
クライアントコードがこれらのエラーを生成して伝播する可能性がありますが、実際には V8 のみがそうします。
doesNotExist
// ReferenceErrorをスローします。doesNotExistはこのプログラム内の変数ではありません。
アプリケーションが動的にコードを生成して実行している場合を除き、ReferenceError
インスタンスはコードまたはその依存関係のバグを示します。
クラス: SyntaxError
- 拡張: <errors.Error>
プログラムが有効な JavaScript ではないことを示します。これらのエラーは、コード評価の結果としてのみ生成および伝播される可能性があります。コード評価は、eval
、Function
、require
、または vm の結果として発生する可能性があります。これらのエラーは、ほとんどの場合、破損したプログラムを示しています。
try {
require('node:vm').runInThisContext('binary ! isNotOk')
} catch (err) {
// 'err' は SyntaxError になります。
}
SyntaxError
インスタンスは、それを作成したコンテキストでは回復できません。他のコンテキストでのみキャッチできます。
クラス: SystemError
- 拡張: <errors.Error>
Node.js は、そのランタイム環境内で例外が発生するとシステムエラーを生成します。これらは通常、アプリケーションがオペレーティングシステムの制約に違反した場合に発生します。たとえば、アプリケーションが存在しないファイルを読み取ろうとすると、システムエラーが発生します。
address
<string> 存在する場合、ネットワーク接続が失敗したアドレスcode
<string> 文字列エラーコードdest
<string> 存在する場合、ファイルシステムエラーを報告する際のファイルパスの宛先errno
<number> システム提供のエラー番号info
<Object> 存在する場合、エラー状態に関する追加の詳細message
<string> システム提供の人間の読めるエラーの説明path
<string> 存在する場合、ファイルシステムエラーを報告する際のファイルパスport
<number> 存在する場合、利用できないネットワーク接続ポートsyscall
<string> エラーをトリガーしたシステムコールの名前
error.address
存在する場合、error.address
は、ネットワーク接続が失敗したアドレスを記述する文字列です。
error.code
error.code
プロパティは、エラーコードを表す文字列です。
error.dest
存在する場合、error.dest
は、ファイルシステムエラーを報告する際のファイルパスの宛先です。
error.errno
error.errno
プロパティは、libuv Error handling
で定義されているエラーコードに対応する負の数値です。
Windows では、システムから提供されたエラー番号は libuv によって正規化されます。
エラーコードの文字列表現を取得するには、util.getSystemErrorName(error.errno)
を使用します。
error.info
存在する場合、error.info
は、エラー状態に関する詳細を持つオブジェクトです。
error.message
error.message
は、システムによって提供される、人間が読めるエラーの説明です。
error.path
存在する場合、error.path
は、関連する無効なパス名を含む文字列です。
error.port
存在する場合、error.port
は、利用できないネットワーク接続ポートです。
error.syscall
error.syscall
プロパティは、失敗した syscall を記述する文字列です。
一般的なシステムエラー
これは、Node.js プログラムを作成する際によく遭遇するシステムエラーの一覧です。詳細なリストについては、errno
(3) man ページを参照してください。
EACCES
(許可が拒否されました): ファイルのアクセス許可によって禁止されている方法でファイルにアクセスしようとしました。EADDRINUSE
(アドレスは既に使用中です): ローカルシステム上の別のサーバーがそのアドレスを既に占有しているため、サーバー(net
、http
、またはhttps
)をローカルアドレスにバインドしようとすると失敗しました。ECONNREFUSED
(接続が拒否されました): ターゲットマシンがアクティブに拒否したため、接続できませんでした。これは通常、外部ホストで非アクティブなサービスに接続しようとした場合に発生します。ECONNRESET
(ピアによって接続がリセットされました): 接続がピアによって強制的に閉じられました。これは通常、タイムアウトまたは再起動のためにリモートソケットでの接続が失われた場合に発生します。http
およびnet
モジュールを介してよく遭遇します。EEXIST
(ファイルが存在します): 既存のファイルが、ターゲットが存在しないことを要求する操作の対象になりました。EISDIR
(ディレクトリです): 操作でファイルが期待されていましたが、指定されたパス名はディレクトリでした。EMFILE
(システム内のオープンファイルが多すぎます): システムで許可されるファイル記述子の最大数に達しており、少なくとも 1 つが閉じられるまで別の記述子のリクエストを満たすことができません。これは、特にプロセスに対するファイル記述子の制限が低いシステム(特に macOS)で、多くのファイルを並行して一度に開く場合に発生します。低い制限を改善するには、Node.js プロセスを実行するのと同じシェルでulimit -n 2048
を実行します。ENOENT
(そのようなファイルまたはディレクトリはありません): 指定されたパス名のコンポーネントが存在しないことを示すために、fs
操作によってよく発生します。指定されたパスによって、エンティティ(ファイルまたはディレクトリ)が見つかりませんでした。ENOTDIR
(ディレクトリではありません): 指定されたパス名のコンポーネントは存在しましたが、期待どおりのディレクトリではありませんでした。fs.readdir
によってよく発生します。ENOTEMPTY
(ディレクトリは空ではありません): エントリを持つディレクトリが、空のディレクトリを必要とする操作(通常はfs.unlink
)の対象になりました。ENOTFOUND
(DNS ルックアップが失敗しました):EAI_NODATA
またはEAI_NONAME
のいずれかの DNS エラーを示します。これは標準の POSIX エラーではありません。EPERM
(操作は許可されていません): 昇格された特権を必要とする操作を実行しようとしました。EPIPE
(パイプが壊れています): データを読み取るプロセスがないパイプ、ソケット、または FIFO への書き込み。net
およびhttp
レイヤーでよく遭遇し、書き込まれているストリームのリモート側が閉じられたことを示します。ETIMEDOUT
(操作がタイムアウトしました): 接続または送信リクエストが、接続されたパーティが一定時間後に適切に応答しなかったために失敗しました。通常、http
またはnet
によって遭遇します。多くの場合、socket.end()
が適切に呼び出されなかった兆候です。
クラス: TypeError
- <errors.Error> を拡張
提供された引数が許可された型ではないことを示します。例えば、文字列を予期するパラメータに関数を渡すと TypeError
になります。
require('node:url').parse(() => {})
// 文字列が予期されるため、TypeError をスローします。
Node.js は、引数の検証の一環として TypeError
インスタンスを即座に生成してスローします。
例外とエラー
JavaScript の例外は、無効な操作の結果として、または throw
ステートメントのターゲットとしてスローされる値です。これらの値が Error
のインスタンスである必要はなく、Error
から継承されたクラスである必要もありませんが、Node.js または JavaScript ランタイムによってスローされるすべての例外は、必ず Error
のインスタンスになります。
一部の例外は、JavaScript レイヤーでは回復不能です。このような例外は、常に Node.js プロセスをクラッシュさせます。例としては、C++ レイヤーでの assert()
チェックや abort()
呼び出しなどがあります。
OpenSSL エラー
crypto
または tls
に起因するエラーは Error
クラスであり、標準の .code
プロパティと .message
プロパティに加えて、いくつかの追加の OpenSSL 固有のプロパティを持つ場合があります。
error.opensslErrorStack
エラーが OpenSSL ライブラリのどこから発生したかに関するコンテキストを提供する可能性のあるエラーの配列。
error.function
エラーが発生した OpenSSL 関数。
error.library
エラーが発生した OpenSSL ライブラリ。
error.reason
エラーの理由を説明する人間が読める文字列。
Node.js エラーコード
ABORT_ERR
追加: v15.0.0
操作が中止された場合に使用されます (通常は AbortController
を使用)。
AbortSignal
を使用しない API は、通常、このコードのエラーを発生させません。
このコードは、ウェブプラットフォームの AbortError
との互換性を保つために、Node.js エラーが使用する通常の ERR_*
規則を使用していません。
ERR_ACCESS_DENIED
Node.js が パーミッションモデル によって制限されたリソースへのアクセスを試みるときにトリガーされる特別なタイプのエラー。
ERR_AMBIGUOUS_ARGUMENT
関数の引数が、関数のシグネチャが誤解されている可能性があるような方法で使用されています。これは、assert.throws(block, message)
の message
パラメーターが block
によってスローされたエラーメッセージと一致する場合に、node:assert
モジュールによってスローされます。これは、ユーザーが message
を、block
がスローしなかった場合に AssertionError
が表示するメッセージではなく、期待されるメッセージであると信じていることを示唆しているためです。
ERR_ARG_NOT_ITERABLE
反復可能な引数(つまり、for...of
ループで動作する値)が必要でしたが、Node.js API に提供されていませんでした。
ERR_ASSERTION
Node.js が発生すべきではない例外的なロジック違反を検出したときにいつでもトリガーできる特別なタイプのエラーです。これらは通常、node:assert
モジュールによって発生します。
ERR_ASYNC_CALLBACK
関数ではないものを AsyncHooks
コールバックとして登録しようとしました。
ERR_ASYNC_TYPE
非同期リソースのタイプが無効でした。ユーザーは、パブリックエンベッダー API を使用している場合、独自のタイプを定義することもできます。
ERR_BROTLI_COMPRESSION_FAILED
Brotli ストリームに渡されたデータが正常に圧縮されませんでした。
ERR_BROTLI_INVALID_PARAM
Brotli ストリームの構築中に無効なパラメーターキーが渡されました。
ERR_BUFFER_CONTEXT_NOT_AVAILABLE
アドオンまたはエンベッダーコードから、Node.js インスタンスに関連付けられていない JS エンジンコンテキストで Node.js Buffer
インスタンスを作成しようとしました。Buffer
メソッドに渡されたデータは、メソッドが戻るまでに解放されています。
このエラーが発生した場合、Buffer
インスタンスを作成する代わりに、通常の Uint8Array
を作成するのが代替案として考えられます。これは、結果として得られるオブジェクトのプロトタイプのみが異なります。Uint8Array
は、一般的にすべての Node.js コア API で Buffer
と同様に受け入れられます。これらはすべてのコンテキストで利用可能です。
ERR_BUFFER_OUT_OF_BOUNDS
Buffer
の境界外での操作が試みられました。
ERR_BUFFER_TOO_LARGE
許可されている最大サイズよりも大きな Buffer
を作成しようとしました。
ERR_CANNOT_WATCH_SIGINT
Node.js は SIGINT
シグナルを監視できませんでした。
ERR_CHILD_CLOSED_BEFORE_REPLY
親が応答を受け取る前に、子プロセスが閉じられました。
ERR_CHILD_PROCESS_IPC_REQUIRED
IPC チャネルを指定せずに子プロセスをフォークしようとした場合に使用されます。
ERR_CHILD_PROCESS_STDIO_MAXBUFFER
メインプロセスが子プロセスの STDERR/STDOUT からデータを読み取ろうとしたときに、データの長さが maxBuffer
オプションより長い場合に使用されます。
ERR_CLOSED_MESSAGE_PORT
[履歴]
バージョン | 変更点 |
---|---|
v16.2.0, v14.17.1 | エラーメッセージが再導入されました。 |
v11.12.0 | エラーメッセージが削除されました。 |
v10.5.0 | 追加: v10.5.0 |
通常、.close()
が呼び出された後、閉じられた状態の MessagePort
インスタンスを使用しようとしました。
ERR_CONSOLE_WRITABLE_STREAM
Console
が stdout
ストリームなしでインスタンス化されたか、Console
に書き込み不可能な stdout
または stderr
ストリームがあります。
ERR_CONSTRUCT_CALL_INVALID
追加: v12.5.0
呼び出し可能でないクラスコンストラクターが呼び出されました。
ERR_CONSTRUCT_CALL_REQUIRED
クラスのコンストラクターが new
なしで呼び出されました。
ERR_CONTEXT_NOT_INITIALIZED
API に渡された vm コンテキストがまだ初期化されていません。これは、コンテキストの作成中にエラーが発生(およびキャッチ)した場合に発生する可能性があります。たとえば、割り当てに失敗した場合や、コンテキストの作成時に最大コールスタックサイズに達した場合などです。
ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED
OpenSSL エンジン(たとえば、clientCertEngine
または privateKeyEngine
TLS オプションを通じて)が要求されましたが、使用されている OpenSSL のバージョンではサポートされていません。これは、コンパイル時のフラグ OPENSSL_NO_ENGINE
が原因である可能性が高いです。
ERR_CRYPTO_ECDH_INVALID_FORMAT
crypto.ECDH()
クラスの getPublicKey()
メソッドに、format
引数の無効な値が渡されました。
ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY
crypto.ECDH()
クラスの computeSecret()
メソッドに、key
引数の無効な値が渡されました。これは、公開鍵が楕円曲線外にあることを意味します。
ERR_CRYPTO_ENGINE_UNKNOWN
無効な暗号化エンジン識別子が require('node:crypto').setEngine()
に渡されました。
ERR_CRYPTO_FIPS_FORCED
--force-fips
コマンドライン引数が使用されましたが、node:crypto
モジュールで FIPS モードを有効または無効にしようとする試みがありました。
ERR_CRYPTO_FIPS_UNAVAILABLE
FIPS モードを有効または無効にしようとしましたが、FIPS モードは利用できませんでした。
ERR_CRYPTO_HASH_FINALIZED
hash.digest()
が複数回呼び出されました。hash.digest()
メソッドは、Hash
オブジェクトのインスタンスごとに 1 回しか呼び出すことができません。
ERR_CRYPTO_HASH_UPDATE_FAILED
何らかの理由で hash.update()
が失敗しました。これは、めったに、または決して発生しないはずです。
ERR_CRYPTO_INCOMPATIBLE_KEY
与えられた暗号化キーは、試行された操作と互換性がありません。
ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS
選択された公開鍵または秘密鍵のエンコーディングは、他のオプションと互換性がありません。
ERR_CRYPTO_INITIALIZATION_FAILED
追加: v15.0.0
暗号化サブシステムの初期化に失敗しました。
ERR_CRYPTO_INVALID_AUTH_TAG
追加: v15.0.0
無効な認証タグが提供されました。
ERR_CRYPTO_INVALID_COUNTER
追加: v15.0.0
カウンターモード暗号に無効なカウンターが提供されました。
ERR_CRYPTO_INVALID_CURVE
追加: v15.0.0
無効な楕円曲線が提供されました。
ERR_CRYPTO_INVALID_DIGEST
無効な 暗号化ダイジェストアルゴリズム が指定されました。
ERR_CRYPTO_INVALID_IV
追加: v15.0.0
無効な初期化ベクトルが提供されました。
ERR_CRYPTO_INVALID_JWK
追加: v15.0.0
無効な JSON Web Key が提供されました。
ERR_CRYPTO_INVALID_KEYLEN
追加: v15.0.0
無効なキー長が提供されました。
ERR_CRYPTO_INVALID_KEYPAIR
追加: v15.0.0
無効なキーペアが提供されました。
ERR_CRYPTO_INVALID_KEYTYPE
追加: v15.0.0
無効なキータイプが提供されました。
ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE
指定された暗号鍵オブジェクトの型が、試行された操作に対して無効です。
ERR_CRYPTO_INVALID_MESSAGELEN
追加: v15.0.0
無効なメッセージ長が指定されました。
ERR_CRYPTO_INVALID_SCRYPT_PARAMS
追加: v15.0.0
crypto.scrypt()
または crypto.scryptSync()
の 1 つ以上のパラメータが、有効な範囲外です。
ERR_CRYPTO_INVALID_STATE
暗号メソッドが、無効な状態のオブジェクトで使用されました。たとえば、cipher.getAuthTag()
を cipher.final()
を呼び出す前に呼び出す場合などです。
ERR_CRYPTO_INVALID_TAG_LENGTH
追加: v15.0.0
無効な認証タグ長が指定されました。
ERR_CRYPTO_JOB_INIT_FAILED
追加: v15.0.0
非同期暗号化操作の初期化に失敗しました。
ERR_CRYPTO_JWK_UNSUPPORTED_CURVE
鍵の楕円曲線が、JSON Web Key Elliptic Curve Registry での使用のために登録されていません。
ERR_CRYPTO_JWK_UNSUPPORTED_KEY_TYPE
鍵の非対称鍵タイプが、JSON Web Key Types Registry での使用のために登録されていません。
ERR_CRYPTO_OPERATION_FAILED
追加: v15.0.0
暗号操作が、特に理由もなく失敗しました。
ERR_CRYPTO_PBKDF2_ERROR
PBKDF2 アルゴリズムが、特定できない理由で失敗しました。OpenSSL は詳細を提供していないため、Node.js も同様です。
ERR_CRYPTO_SCRYPT_NOT_SUPPORTED
Node.js は scrypt
サポートなしでコンパイルされました。公式リリースバイナリではありえませんが、ディストリビューションビルドを含むカスタムビルドで発生する可能性があります。
ERR_CRYPTO_SIGN_KEY_REQUIRED
署名key
が、sign.sign()
メソッドに提供されていません。
ERR_CRYPTO_TIMING_SAFE_EQUAL_LENGTH
crypto.timingSafeEqual()
が、長さの異なる Buffer
、TypedArray
、または DataView
引数で呼び出されました。
ERR_CRYPTO_UNKNOWN_CIPHER
不明な暗号化方式が指定されました。
ERR_CRYPTO_UNKNOWN_DH_GROUP
不明な Diffie-Hellman グループ名が指定されました。有効なグループ名の一覧については、crypto.getDiffieHellman()
を参照してください。
ERR_CRYPTO_UNSUPPORTED_OPERATION
追加: v15.0.0, v14.18.0
サポートされていない暗号化操作を呼び出そうとしました。
ERR_DEBUGGER_ERROR
追加: v16.4.0, v14.17.4
デバッガーでエラーが発生しました。
ERR_DEBUGGER_STARTUP_ERROR
追加: v16.4.0, v14.17.4
デバッガーが必要なホスト/ポートが空くのを待つ間にタイムアウトしました。
ERR_DIR_CLOSED
fs.Dir
は以前に閉じられました。
ERR_DIR_CONCURRENT_OPERATION
追加: v14.3.0
非同期操作が進行中のfs.Dir
で同期読み取りまたは close 呼び出しが試みられました。
ERR_DLOPEN_DISABLED
追加: v16.10.0, v14.19.0
ネイティブアドオンの読み込みは、--no-addons
を使用して無効化されました。
ERR_DLOPEN_FAILED
追加: v15.0.0
process.dlopen()
の呼び出しが失敗しました。
ERR_DNS_SET_SERVERS_FAILED
c-ares
が DNS サーバーの設定に失敗しました。
ERR_DOMAIN_CALLBACK_NOT_AVAILABLE
process.setUncaughtExceptionCaptureCallback()
が以前に呼び出されていたため、必要なエラー処理フックを確立できなかったため、node:domain
モジュールは使用できませんでした。
ERR_DOMAIN_CANNOT_SET_UNCAUGHT_EXCEPTION_CAPTURE
node:domain
モジュールが以前に読み込まれていたため、process.setUncaughtExceptionCaptureCallback()
を呼び出すことができませんでした。
スタックトレースには、node:domain
モジュールが読み込まれた時点が含まれるように拡張されます。
ERR_DUPLICATE_STARTUP_SNAPSHOT_MAIN_FUNCTION
v8.startupSnapshot.setDeserializeMainFunction()
は、以前に呼び出されていたため、呼び出すことができませんでした。
ERR_ENCODING_INVALID_ENCODED_DATA
TextDecoder()
API に提供されたデータが、指定されたエンコーディングに従って無効でした。
ERR_ENCODING_NOT_SUPPORTED
TextDecoder()
API に提供されたエンコーディングが、WHATWG でサポートされているエンコーディングのいずれでもありませんでした。
ERR_EVAL_ESM_CANNOT_PRINT
--print
は ESM 入力では使用できません。
ERR_EVENT_RECURSION
EventTarget
でイベントを再帰的にディスパッチしようとした場合にスローされます。
ERR_EXECUTION_ENVIRONMENT_NOT_AVAILABLE
JS 実行コンテキストが Node.js 環境に関連付けられていません。これは、Node.js が組み込みライブラリとして使用され、JS エンジンのいくつかのフックが適切に設定されていない場合に発生する可能性があります。
ERR_FALSY_VALUE_REJECTION
util.callbackify()
を介してコールバック化された Promise
が、false の値で拒否されました。
ERR_FEATURE_UNAVAILABLE_ON_PLATFORM
追加: v14.0.0
Node.js を実行している現在のプラットフォームで利用できない機能が使用された場合に使用されます。
ERR_FS_CP_DIR_TO_NON_DIR
追加: v16.7.0
fs.cp()
を使用して、ディレクトリを非ディレクトリ(ファイル、シンボリックリンクなど)にコピーしようとしました。
ERR_FS_CP_EEXIST
追加: v16.7.0
fs.cp()
を使用して、force
および errorOnExist
が true
に設定された状態で、すでに存在するファイルを上書きしようとしました。
ERR_FS_CP_EINVAL
追加: v16.7.0
fs.cp()
を使用する場合、src
または dest
が無効なパスを指していました。
ERR_FS_CP_FIFO_PIPE
追加: v16.7.0
fs.cp()
を使用して、名前付きパイプをコピーしようとしました。
ERR_FS_CP_NON_DIR_TO_DIR
追加: v16.7.0
fs.cp()
を使用して、非ディレクトリ(ファイル、シンボリックリンクなど)をディレクトリにコピーしようとしました。
ERR_FS_CP_SOCKET
追加: v16.7.0
fs.cp()
を使用して、ソケットにコピーしようとしました。
ERR_FS_CP_SYMLINK_TO_SUBDIRECTORY
追加: v16.7.0
fs.cp()
を使用した際に、dest
内のシンボリックリンクが src
のサブディレクトリを指していました。
ERR_FS_CP_UNKNOWN
追加: v16.7.0
fs.cp()
で不明なファイルタイプへのコピーが試みられました。
ERR_FS_EISDIR
パスがディレクトリです。
ERR_FS_FILE_TOO_LARGE
Buffer
の最大許容サイズを超えるサイズのファイルを読み込もうとしました。
ERR_HTTP2_ALTSVC_INVALID_ORIGIN
HTTP/2 ALTSVC フレームには有効なオリジンが必要です。
ERR_HTTP2_ALTSVC_LENGTH
HTTP/2 ALTSVC フレームは最大 16,382 バイトのペイロードに制限されています。
ERR_HTTP2_CONNECT_AUTHORITY
CONNECT
メソッドを使用する HTTP/2 リクエストの場合、:authority
疑似ヘッダーが必要です。
ERR_HTTP2_CONNECT_PATH
CONNECT
メソッドを使用する HTTP/2 リクエストの場合、:path
疑似ヘッダーは禁止されています。
ERR_HTTP2_CONNECT_SCHEME
CONNECT
メソッドを使用する HTTP/2 リクエストの場合、:scheme
疑似ヘッダーは禁止されています。
ERR_HTTP2_ERROR
特定できない HTTP/2 エラーが発生しました。
ERR_HTTP2_GOAWAY_SESSION
Http2Session
が接続されたピアから GOAWAY
フレームを受信した後、新しい HTTP/2 ストリームを開くことはできません。
ERR_HTTP2_HEADERS_AFTER_RESPOND
HTTP/2 レスポンスが開始された後に追加のヘッダーが指定されました。
ERR_HTTP2_HEADERS_SENT
複数のレスポンスヘッダーを送信しようとしました。
ERR_HTTP2_HEADER_SINGLE_VALUE
単一の値のみを持つ必要がある HTTP/2 ヘッダーフィールドに複数の値が提供されました。
ERR_HTTP2_INFO_STATUS_NOT_ALLOWED
情報 HTTP ステータスコード (1xx
) は、HTTP/2 レスポンスのレスポンスステータスコードとして設定できません。
ERR_HTTP2_INVALID_CONNECTION_HEADERS
HTTP/1 接続固有のヘッダーは、HTTP/2 リクエストとレスポンスで使用することは禁止されています。
ERR_HTTP2_INVALID_HEADER_VALUE
無効な HTTP/2 ヘッダー値が指定されました。
ERR_HTTP2_INVALID_INFO_STATUS
無効な HTTP 情報ステータスコードが指定されました。情報ステータスコードは、100
から 199
(両端を含む) の整数でなければなりません。
ERR_HTTP2_INVALID_ORIGIN
HTTP/2 の ORIGIN
フレームには有効なオリジンが必要です。
ERR_HTTP2_INVALID_PACKED_SETTINGS_LENGTH
http2.getUnpackedSettings()
API に渡される入力 Buffer
および Uint8Array
インスタンスは、6 の倍数の長さを持つ必要があります。
ERR_HTTP2_INVALID_PSEUDOHEADER
有効な HTTP/2 擬似ヘッダー (:status
、:path
、:authority
、:scheme
、および :method
) のみを使用できます。
ERR_HTTP2_INVALID_SESSION
すでに破棄されている Http2Session
オブジェクトに対してアクションが実行されました。
ERR_HTTP2_INVALID_SETTING_VALUE
HTTP/2 設定に無効な値が指定されました。
ERR_HTTP2_INVALID_STREAM
すでに破棄されているストリームに対して操作が実行されました。
ERR_HTTP2_MAX_PENDING_SETTINGS_ACK
HTTP/2 の SETTINGS
フレームが接続されたピアに送信されるたびに、ピアは新しい SETTINGS
を受信して適用したことを確認する応答を送信する必要があります。デフォルトでは、未確認の SETTINGS
フレームの最大数が任意の時点で送信される可能性があります。このエラーコードは、その制限に達した場合に使用されます。
ERR_HTTP2_NESTED_PUSH
プッシュストリーム内から新しいプッシュストリームを開始しようとしました。ネストされたプッシュストリームは許可されていません。
ERR_HTTP2_NO_MEM
http2session.setLocalWindowSize(windowSize)
API を使用中にメモリが不足しました。
ERR_HTTP2_NO_SOCKET_MANIPULATION
Http2Session
に接続されたソケットを直接操作(読み取り、書き込み、一時停止、再開など)しようとしました。
ERR_HTTP2_ORIGIN_LENGTH
HTTP/2 の ORIGIN
フレームは 16382 バイトの長さに制限されています。
ERR_HTTP2_OUT_OF_STREAMS
単一の HTTP/2 セッションで作成されたストリームの数が最大制限に達しました。
ERR_HTTP2_PAYLOAD_FORBIDDEN
ペイロードが禁止されている HTTP レスポンスコードに対して、メッセージペイロードが指定されました。
ERR_HTTP2_PING_CANCEL
HTTP/2 の ping がキャンセルされました。
ERR_HTTP2_PING_LENGTH
HTTP/2 の ping ペイロードは、正確に 8 バイトの長さでなければなりません。
ERR_HTTP2_PSEUDOHEADER_NOT_ALLOWED
HTTP/2 の疑似ヘッダーが不適切に使用されました。疑似ヘッダーは、:
プレフィックスで始まるヘッダーキー名です。
ERR_HTTP2_PUSH_DISABLED
クライアントによって無効にされたプッシュストリームを作成しようとしました。
ERR_HTTP2_SEND_FILE
Http2Stream.prototype.responseWithFile()
API を使用してディレクトリを送信しようとしました。
ERR_HTTP2_SEND_FILE_NOSEEK
Http2Stream.prototype.responseWithFile()
API を使用して通常のファイル以外のものを送信しようとしましたが、offset
またはlength
オプションが指定されました。
ERR_HTTP2_SESSION_ERROR
Http2Session
がゼロ以外のエラーコードで閉じられました。
ERR_HTTP2_SETTINGS_CANCEL
Http2Session
の設定がキャンセルされました。
ERR_HTTP2_SOCKET_BOUND
すでに別のHttp2Session
オブジェクトにバインドされているnet.Socket
またはtls.TLSSocket
にHttp2Session
オブジェクトを接続しようとしました。
ERR_HTTP2_SOCKET_UNBOUND
すでに閉じられているHttp2Session
のsocket
プロパティを使用しようとしました。
ERR_HTTP2_STATUS_101
HTTP/2 では、101
情報ステータスコードの使用は禁止されています。
ERR_HTTP2_STATUS_INVALID
無効な HTTP ステータスコードが指定されました。ステータスコードは、100
から599
(両端を含む)の間の整数でなければなりません。
ERR_HTTP2_STREAM_CANCEL
接続されたピアにデータが送信される前にHttp2Stream
が破棄されました。
ERR_HTTP2_STREAM_ERROR
RST_STREAM
フレームでゼロ以外のエラーコードが指定されました。
ERR_HTTP2_STREAM_SELF_DEPENDENCY
HTTP/2 ストリームの優先度を設定する場合、ストリームは親ストリームの依存関係としてマークされる場合があります。このエラーコードは、ストリームを自分自身の依存としてマークしようとした場合に使用されます。
ERR_HTTP2_TOO_MANY_CUSTOM_SETTINGS
サポートされているカスタム設定の数(10)を超過しました。
ERR_HTTP2_TOO_MANY_INVALID_FRAMES
追加: v15.14.0
maxSessionInvalidFrames
オプションで指定された、ピアから送信された許容可能な無効な HTTP/2 プロトコルフレームの制限を超えました。
ERR_HTTP2_TRAILERS_ALREADY_SENT
トレーラーヘッダーがHttp2Stream
ですでに送信されています。
ERR_HTTP2_TRAILERS_NOT_READY
http2stream.sendTrailers()
メソッドは、Http2Stream
オブジェクトで'wantTrailers'
イベントが発行されるまで呼び出すことはできません。'wantTrailers'
イベントは、Http2Stream
のwaitForTrailers
オプションが設定されている場合にのみ発行されます。
ERR_HTTP2_UNSUPPORTED_PROTOCOL
http2.connect()
に、http:
またはhttps:
以外のプロトコルを使用する URL が渡されました。
ERR_HTTP_BODY_NOT_ALLOWED
コンテンツを許可しない HTTP レスポンスへの書き込み時にエラーがスローされます。
ERR_HTTP_CONTENT_LENGTH_MISMATCH
レスポンスボディのサイズが、指定された content-length ヘッダーの値と一致しません。
ERR_HTTP_HEADERS_SENT
ヘッダーがすでに送信された後、さらにヘッダーを追加しようとしました。
ERR_HTTP_INVALID_HEADER_VALUE
無効な HTTP ヘッダー値が指定されました。
ERR_HTTP_INVALID_STATUS_CODE
ステータスコードが通常のステータスコード範囲(100-999)外でした。
ERR_HTTP_REQUEST_TIMEOUT
クライアントが許可された時間内にリクエスト全体を送信しませんでした。
ERR_HTTP_SOCKET_ASSIGNED
指定されたServerResponse
にはすでにソケットが割り当てられていました。
ERR_HTTP_SOCKET_ENCODING
ソケットのエンコーディングの変更は、RFC 7230 セクション 3で許可されていません。
ERR_HTTP_TRAILER_INVALID
転送エンコーディングがそれをサポートしていないにもかかわらず、Trailer
ヘッダーが設定されました。
ERR_ILLEGAL_CONSTRUCTOR
非公開コンストラクターを使用してオブジェクトを構築しようとしました。
ERR_IMPORT_ATTRIBUTE_MISSING
追加: v21.1.0
インポート属性が不足しており、指定されたモジュールをインポートできません。
ERR_IMPORT_ATTRIBUTE_TYPE_INCOMPATIBLE
追加: v21.1.0
インポートの type
属性が指定されましたが、指定されたモジュールの型が異なります。
ERR_IMPORT_ATTRIBUTE_UNSUPPORTED
追加: v21.0.0, v20.10.0, v18.19.0
このバージョンの Node.js では、インポート属性がサポートされていません。
ERR_INCOMPATIBLE_OPTION_PAIR
オプションの組み合わせが互いに非互換であり、同時に使用できません。
ERR_INPUT_TYPE_NOT_ALLOWED
--input-type
フラグを使用してファイルをを実行しようとしました。このフラグは、--eval
、--print
、または STDIN
を介した入力でのみ使用できます。
ERR_INSPECTOR_ALREADY_ACTIVATED
node:inspector
モジュールを使用中に、ポートで既にリスニングを開始している場合にインスペクターをアクティブ化しようとしました。別のアドレスでアクティブ化する前に、inspector.close()
を使用してください。
ERR_INSPECTOR_ALREADY_CONNECTED
node:inspector
モジュールを使用中に、インスペクターが既に接続されている場合に接続しようとしました。
ERR_INSPECTOR_CLOSED
node:inspector
モジュールを使用中に、セッションが既に閉じられた後にインスペクターを使用しようとしました。
ERR_INSPECTOR_COMMAND
node:inspector
モジュールを介してコマンドを発行中にエラーが発生しました。
ERR_INSPECTOR_NOT_ACTIVE
inspector.waitForDebugger()
が呼び出されたときに、inspector
がアクティブではありません。
ERR_INSPECTOR_NOT_AVAILABLE
node:inspector
モジュールは使用できません。
ERR_INSPECTOR_NOT_CONNECTED
node:inspector
モジュールを使用中に、接続される前にインスペクターを使用しようとしました。
ERR_INSPECTOR_NOT_WORKER
ワーカー スレッドからのみ使用できる API がメインスレッドで呼び出されました。
ERR_INTERNAL_ASSERTION
Node.js にバグがあるか、Node.js 内部の使い方が間違っています。エラーを修正するには、https://github.com/nodejs/node/issues で問題をオープンしてください。
ERR_INVALID_ADDRESS
指定されたアドレスは、Node.js API で理解できません。
ERR_INVALID_ADDRESS_FAMILY
指定されたアドレスファミリは、Node.js API で理解できません。
ERR_INVALID_ARG_TYPE
間違った型の引数が Node.js API に渡されました。
ERR_INVALID_ARG_VALUE
指定された引数に無効な値またはサポートされていない値が渡されました。
ERR_INVALID_ASYNC_ID
無効な asyncId
または triggerAsyncId
が AsyncHooks
を使用して渡されました。-1 より小さい ID は発生しないはずです。
ERR_INVALID_BUFFER_SIZE
Buffer
に対してスワップが実行されましたが、そのサイズは操作と互換性がありませんでした。
ERR_INVALID_CHAR
ヘッダーで無効な文字が検出されました。
ERR_INVALID_CURSOR_POS
指定されたストリームのカーソルは、指定された列なしに、指定された行に移動できません。
ERR_INVALID_FD
ファイル記述子 ('fd') が無効でした(例:負の値)。
ERR_INVALID_FD_TYPE
ファイル記述子 ('fd') の型が無効でした。
ERR_INVALID_FILE_URL_HOST
file:
URL を消費する Node.js API(fs
モジュールの一部の関数など)で、互換性のないホストを持つファイル URL が検出されました。この状況は、localhost
または空のホストのみがサポートされる Unix 系システムでのみ発生する可能性があります。
ERR_INVALID_FILE_URL_PATH
file:
URL を消費する Node.js API(fs
モジュールの一部の関数など)で、互換性のないパスを持つファイル URL が検出されました。パスが使用可能かどうかを判断するための正確なセマンティクスはプラットフォームに依存します。
ERR_INVALID_HANDLE_TYPE
サポートされていない「ハンドル」を、子プロセスへの IPC 通信チャネル経由で送信しようとしました。詳細については、subprocess.send()
および process.send()
を参照してください。
ERR_INVALID_HTTP_TOKEN
無効な HTTP トークンが提供されました。
ERR_INVALID_IP_ADDRESS
IP アドレスが無効です。
ERR_INVALID_MIME_SYNTAX
MIME の構文が無効です。
ERR_INVALID_MODULE
追加: v15.0.0, v14.18.0
存在しないか、無効なモジュールをロードしようとしました。
ERR_INVALID_MODULE_SPECIFIER
インポートされたモジュール文字列が無効な URL、パッケージ名、またはパッケージサブパス指定子です。
ERR_INVALID_OBJECT_DEFINE_PROPERTY
オブジェクトのプロパティに無効な属性を設定中にエラーが発生しました。
ERR_INVALID_PACKAGE_CONFIG
無効なpackage.json
ファイルの解析に失敗しました。
ERR_INVALID_PACKAGE_TARGET
package.json
の"exports"
フィールドに、試行されたモジュール解決に対して無効なターゲットマッピング値が含まれています。
ERR_INVALID_PROTOCOL
無効なoptions.protocol
がhttp.request()
に渡されました。
ERR_INVALID_REPL_EVAL_CONFIG
REPL
の設定でbreakEvalOnSigint
とeval
の両方のオプションが設定されましたが、これはサポートされていません。
ERR_INVALID_REPL_INPUT
入力はREPL
で使用できません。このエラーが使用される条件は、REPL
のドキュメントに記載されています。
ERR_INVALID_RETURN_PROPERTY
実行時に、関数のオプションが、返されたオブジェクトのプロパティの 1 つに対して有効な値を提供しない場合にスローされます。
ERR_INVALID_RETURN_PROPERTY_VALUE
実行時に、関数のオプションが、返されたオブジェクトのプロパティの 1 つに対して予期される値の型を提供しない場合にスローされます。
ERR_INVALID_RETURN_VALUE
関数が Promise を返すことが期待される場合など、関数のオプションが実行時に予期される値の型を返さない場合にスローされます。
ERR_INVALID_STATE
追加: v15.0.0
無効な状態のため、操作を完了できないことを示します。たとえば、オブジェクトがすでに破棄されているか、別の操作を実行している可能性があります。
ERR_INVALID_SYNC_FORK_INPUT
Buffer
、TypedArray
、DataView
、またはstring
が、非同期フォークへの stdio 入力として提供されました。詳細については、child_process
モジュールのドキュメントを参照してください。
ERR_INVALID_THIS
Node.js API 関数が、互換性のない this
値で呼び出されました。
const urlSearchParams = new URLSearchParams('foo=bar&baz=new')
const buf = Buffer.alloc(1)
urlSearchParams.has.call(buf, 'foo')
// 'ERR_INVALID_THIS' コードの TypeError をスローします
ERR_INVALID_TUPLE
WHATWG の URLSearchParams
コンストラクター に提供された iterable
内の要素が、 [name, value]
タプルを表していませんでした。つまり、要素が iterable でないか、または正確に 2 つの要素で構成されていない場合です。
ERR_INVALID_TYPESCRIPT_SYNTAX
追加: v23.0.0
提供された TypeScript 構文が無効であるか、サポートされていません。これは、型削除 による変換が必要な TypeScript 構文を使用している場合に発生する可能性があります。
ERR_INVALID_URI
無効な URI が渡されました。
ERR_INVALID_URL
無効な URL が、WHATWG の URL
コンストラクター またはレガシーの url.parse()
に渡され、解析されようとしました。スローされたエラーオブジェクトには、通常、解析に失敗した URL を含む追加のプロパティ 'input'
があります。
ERR_INVALID_URL_SCHEME
特定の目的のために、互換性のないスキーム(プロトコル)の URL を使用しようとしました。これは、fs
モジュール( 'file'
スキームの URL のみを受け入れます)における WHATWG URL API のサポートでのみ使用されますが、将来、他の Node.js API でも使用される可能性があります。
ERR_IPC_CHANNEL_CLOSED
既に閉じられた IPC 通信チャネルを使用しようとしました。
ERR_IPC_DISCONNECTED
既に切断された IPC 通信チャネルを切断しようとしました。詳細については、child_process
モジュールのドキュメントを参照してください。
ERR_IPC_ONE_PIPE
複数の IPC 通信チャネルを使用して子 Node.js プロセスを作成しようとしました。詳細については、child_process
モジュールのドキュメントを参照してください。
ERR_IPC_SYNC_FORK
同期的にフォークされた Node.js プロセスとの IPC 通信チャネルを開こうとしました。詳細については、child_process
モジュールのドキュメントを参照してください。
ERR_IP_BLOCKED
IP がnet.BlockList
によってブロックされています。
ERR_LOADER_CHAIN_INCOMPLETE
追加: v18.6.0, v16.17.0
ESM ローダーフックがnext()
を呼び出すことなく、また明示的にショートサーキットを通知することなく戻りました。
ERR_LOAD_SQLITE_EXTENSION
追加: v23.5.0
SQLite 拡張機能のロード中にエラーが発生しました。
ERR_MEMORY_ALLOCATION_FAILED
メモリ(通常は C++レイヤー)を割り当てようとしましたが、失敗しました。
ERR_MESSAGE_TARGET_CONTEXT_UNAVAILABLE
追加: v14.5.0, v12.19.0
MessagePort
にポストされたメッセージを、ターゲットのvmContext
でデシリアライズできませんでした。現時点では、すべての Node.js オブジェクトを任意のコンテキストで正常にインスタンス化できるわけではなく、postMessage()
を使用してそれらを転送しようとすると、受信側で失敗する可能性があります。
ERR_METHOD_NOT_IMPLEMENTED
メソッドが必要ですが、実装されていません。
ERR_MISSING_ARGS
Node.js API の必須引数が渡されませんでした。これは、API 仕様への厳密な準拠のためのみに使用されます(場合によってはfunc(undefined)
は受け入れるがfunc()
は受け入れない場合があります)。ほとんどのネイティブ Node.js API では、func(undefined)
とfunc()
は同じように扱われ、代わりにERR_INVALID_ARG_TYPE
エラーコードが使用される場合があります。
ERR_MISSING_OPTION
オプションオブジェクトを受け入れる API の場合、一部のオプションが必須になる場合があります。必須オプションが欠落している場合、このコードがスローされます。
ERR_MISSING_PASSPHRASE
パスフレーズを指定せずに、暗号化されたキーを読み取ろうとしました。
ERR_MISSING_PLATFORM_FOR_WORKER
この Node.js インスタンスで使用されている V8 プラットフォームは、ワーカーの作成をサポートしていません。これは、ワーカーの組み込みサポートがないことが原因です。特に、このエラーは Node.js の標準ビルドでは発生しません。
ERR_MODULE_NOT_FOUND
import
操作の試行中、またはプログラムのエントリーポイントのロード中に、ECMAScript モジュールローダーがモジュールファイルを解決できませんでした。
ERR_MULTIPLE_CALLBACK
コールバックが複数回呼び出されました。
クエリは満たされるか拒否されるかのどちらかであり、同時に両方が発生することはないため、コールバックはほとんどの場合、1 回だけ呼び出されることを意図しています。後者は、コールバックを複数回呼び出すことによって可能になります。
ERR_NAPI_CONS_FUNCTION
Node-API
の使用中、渡されたコンストラクターが関数ではありませんでした。
ERR_NAPI_INVALID_DATAVIEW_ARGS
napi_create_dataview()
の呼び出し中に、指定された offset
がデータビューの境界外にあるか、offset + length
が指定された buffer
の長さよりも大きくなっています。
ERR_NAPI_INVALID_TYPEDARRAY_ALIGNMENT
napi_create_typedarray()
の呼び出し中に、指定された offset
が要素サイズの倍数ではありませんでした。
ERR_NAPI_INVALID_TYPEDARRAY_LENGTH
napi_create_typedarray()
の呼び出し中に、(length * size_of_element) + byte_offset
が、指定された buffer
の長さよりも大きくなっています。
ERR_NAPI_TSFN_CALL_JS
スレッドセーフ関数の JavaScript 部分の呼び出し中にエラーが発生しました。
ERR_NAPI_TSFN_GET_UNDEFINED
JavaScript の undefined
値の取得中にエラーが発生しました。
ERR_NON_CONTEXT_AWARE_DISABLED
非コンテキスト対応のネイティブアドオンが、それらを許可しないプロセスにロードされました。
ERR_NOT_BUILDING_SNAPSHOT
Node.js が V8 スタートアップスナップショットを構築していないにもかかわらず、スナップショットの構築時にのみ使用できる操作を使用しようとしました。
ERR_NOT_IN_SINGLE_EXECUTABLE_APPLICATION
追加: v21.7.0, v20.12.0
単一実行可能アプリケーションでない場合、この操作は実行できません。
ERR_NOT_SUPPORTED_IN_SNAPSHOT
スタートアップスナップショットを構築する際にサポートされていない操作を実行しようとしました。
ERR_NO_CRYPTO
Node.js が OpenSSL 暗号サポート付きでコンパイルされていないときに、暗号機能を使用しようとしました。
ERR_NO_ICU
ICUを必要とする機能を使用しようとしましたが、Node.js は ICU サポート付きでコンパイルされていませんでした。
ERR_NO_TYPESCRIPT
追加: v23.0.0
ネイティブ TypeScript サポートを必要とする機能を使用しようとしましたが、Node.js は TypeScript サポート付きでコンパイルされていませんでした。
ERR_OPERATION_FAILED
追加: v15.0.0
操作が失敗しました。これは通常、非同期操作の一般的な失敗を示すために使用されます。
ERR_OUT_OF_RANGE
指定された値が許容範囲外です。
ERR_PACKAGE_IMPORT_NOT_DEFINED
package.json
の"imports"
フィールドで、指定された内部パッケージ指定子のマッピングが定義されていません。
ERR_PACKAGE_PATH_NOT_EXPORTED
package.json
の"exports"
フィールドが、リクエストされたサブパスをエクスポートしていません。exports はカプセル化されているため、エクスポートされていないプライベートな内部モジュールは、絶対 URL を使用しない限り、パッケージ解決を介してインポートできません。
ERR_PARSE_ARGS_INVALID_OPTION_VALUE
追加: v18.3.0, v16.17.0
strict
がtrue
に設定されている場合、<string>型のオプションに<boolean>の値が提供された場合、または<boolean>型のオプションに<string>の値が提供された場合に、util.parseArgs()
によってスローされます。
ERR_PARSE_ARGS_UNEXPECTED_POSITIONAL
追加: v18.3.0, v16.17.0
util.parseArgs()
によって、位置引数が提供され、allowPositionals
がfalse
に設定されている場合にスローされます。
ERR_PARSE_ARGS_UNKNOWN_OPTION
追加: v18.3.0, v16.17.0
strict
がtrue
に設定されている場合、util.parseArgs()
によって、options
で引数が構成されていない場合にスローされます。
ERR_PERFORMANCE_INVALID_TIMESTAMP
パフォーマンスマークまたはメジャーに無効なタイムスタンプ値が提供されました。
ERR_PERFORMANCE_MEASURE_INVALID_OPTIONS
パフォーマンスメジャーに無効なオプションが提供されました。
ERR_PROTO_ACCESS
Object.prototype.__proto__
へのアクセスは、--disable-proto=throw
を使用して禁止されています。Object.getPrototypeOf
とObject.setPrototypeOf
を使用して、オブジェクトのプロトタイプを取得および設定する必要があります。
ERR_QUIC_APPLICATION_ERROR
追加: v23.4.0
QUIC アプリケーションエラーが発生しました。
ERR_QUIC_CONNECTION_FAILED
追加: v23.0.0
QUIC 接続の確立に失敗しました。
ERR_QUIC_ENDPOINT_CLOSED
追加: v23.0.0
QUIC エンドポイントがエラーで閉じました。
ERR_QUIC_OPEN_STREAM_FAILED
追加: v23.0.0
QUIC ストリームのオープンに失敗しました。
ERR_QUIC_TRANSPORT_ERROR
追加: v23.4.0
QUIC トランスポートエラーが発生しました。
ERR_QUIC_VERSION_NEGOTIATION_ERROR
追加: v23.4.0
バージョンのネゴシエーションが必要なため、QUIC セッションが失敗しました。
ERR_REQUIRE_ASYNC_MODULE
[Stable: 1 - Experimental]
Stable: 1 Stability: 1 - 実験的
ES Moduleをrequire()
しようとした際、そのモジュールが非同期であることが判明しました。つまり、トップレベルの await を含んでいます。
トップレベルの await がどこにあるかを確認するには、--experimental-print-required-tla
を使用してください(これは、トップレベルの await を探す前にモジュールを実行します)。
ERR_REQUIRE_CYCLE_MODULE
[Stable: 1 - Experimental]
Stable: 1 Stability: 1 - 実験的
ES Moduleをrequire()
しようとした際に、CommonJS から ESM へ、または ESM から CommonJS へのエッジが即時的なサイクルに関与しています。ES Module はすでに評価中の間には評価できないため、これは許可されていません。
サイクルを回避するには、サイクルに関与するrequire()
の呼び出しを、ES Module(createRequire()
経由)または CommonJS モジュールのトップレベルで行うべきではなく、内部関数で遅延的に行う必要があります。
ERR_REQUIRE_ESM
[履歴]
バージョン | 変更 |
---|---|
v23.0.0 | require() がデフォルトで同期 ES モジュールの読み込みをサポートするようになりました。 |
[Stable: 0 - Deprecated]
Stable: 0 Stability: 0 - 非推奨
ES Moduleをrequire()
しようとしました。
このエラーは、require()
が同期 ES モジュールの読み込みをサポートするようになったため、非推奨になりました。require()
がトップレベルのawait
を含む ES モジュールに遭遇した場合、代わりにERR_REQUIRE_ASYNC_MODULE
をスローします。
ERR_SCRIPT_EXECUTION_INTERRUPTED
スクリプトの実行がSIGINT
によって中断されました(たとえば、+ が押された場合など)。
ERR_SCRIPT_EXECUTION_TIMEOUT
スクリプトの実行がタイムアウトしました。実行中のスクリプトにバグがある可能性があります。
ERR_SERVER_ALREADY_LISTEN
net.Server
がすでに listen 状態である間に、server.listen()
メソッドが呼び出されました。これは、HTTP、HTTPS、および HTTP/2 のServer
インスタンスを含む、net.Server
のすべてのインスタンスに適用されます。
ERR_SERVER_NOT_RUNNING
net.Server
が実行されていないときに server.close()
メソッドが呼び出されました。これは、HTTP、HTTPS、HTTP/2 Server
インスタンスを含む、すべての net.Server
のインスタンスに適用されます。
ERR_SINGLE_EXECUTABLE_APPLICATION_ASSET_NOT_FOUND
追加: v21.7.0, v20.12.0
単一の実行可能アプリケーション API に、アセットを識別するためのキーが渡されましたが、一致するものが何も見つかりませんでした。
ERR_SOCKET_ALREADY_BOUND
既にバインドされているソケットをバインドしようとしました。
ERR_SOCKET_BAD_BUFFER_SIZE
dgram.createSocket()
の recvBufferSize
または sendBufferSize
オプションに、無効な(負の)サイズが渡されました。
ERR_SOCKET_BAD_PORT
ポート >= 0 かつ < 65536 を期待する API 関数が無効な値を受け取りました。
ERR_SOCKET_BAD_TYPE
ソケットタイプ (udp4
または udp6
) を期待する API 関数が無効な値を受け取りました。
ERR_SOCKET_BUFFER_SIZE
dgram.createSocket()
の使用中に、受信または送信 Buffer
のサイズを判別できませんでした。
ERR_SOCKET_CLOSED
既に閉じられたソケットで操作を試みました。
ERR_SOCKET_CLOSED_BEFORE_CONNECTION
接続中のソケットで net.Socket.write()
を呼び出した際に、接続が確立される前にソケットが閉じられました。
ERR_SOCKET_CONNECTION_TIMEOUT
ファミリー自動選択アルゴリズムを使用しているときに、DNS によって返されたどのアドレスにも、許可されたタイムアウト内にソケットを接続できませんでした。
ERR_SOCKET_DGRAM_IS_CONNECTED
既に接続されているソケットで dgram.connect()
が呼び出されました。
ERR_SOCKET_DGRAM_NOT_CONNECTED
切断されたソケットで dgram.disconnect()
または dgram.remoteAddress()
が呼び出されました。
ERR_SOCKET_DGRAM_NOT_RUNNING
呼び出しが行われましたが、UDP サブシステムが実行されていませんでした。
ERR_SOURCE_MAP_CORRUPT
ソースマップが存在しないか、破損しているため、解析できませんでした。
ERR_SOURCE_MAP_MISSING_SOURCE
ソースマップからインポートされたファイルが見つかりませんでした。
ERR_SQLITE_ERROR
追加: v22.5.0
SQLiteからエラーが返されました。
ERR_SRI_PARSE
Subresource Integrity チェックのために文字列が提供されましたが、解析できませんでした。Subresource Integrity 仕様 を参照して、integrity 属性の形式を確認してください。
ERR_STREAM_ALREADY_FINISHED
ストリームが終了したため、完了できないストリームメソッドが呼び出されました。
ERR_STREAM_CANNOT_PIPE
Writable
ストリームに対して stream.pipe()
を呼び出そうとしました。
ERR_STREAM_DESTROYED
stream.destroy()
を使用してストリームが破棄されたため、完了できないストリームメソッドが呼び出されました。
ERR_STREAM_NULL_VALUES
null
チャンクを使用して stream.write()
を呼び出そうとしました。
ERR_STREAM_PREMATURE_CLOSE
ストリームまたはパイプラインが明示的なエラーなしに正常に終了しなかった場合に、stream.finished()
および stream.pipeline()
によって返されるエラーです。
ERR_STREAM_PUSH_AFTER_EOF
ストリームに null
(EOF) がプッシュされた後に stream.push()
を呼び出そうとしました。
ERR_STREAM_UNABLE_TO_PIPE
パイプライン内で閉じられたストリームまたは破棄されたストリームにパイプしようとしました。
ERR_STREAM_UNSHIFT_AFTER_END_EVENT
'end'
イベントが発行された後に stream.unshift()
を呼び出そうとしました。
ERR_STREAM_WRAP
Socket に文字列デコーダーが設定されている場合、またはデコーダーが objectMode
である場合に、アボートを防ぎます。
const Socket = require('node:net').Socket
const instance = new Socket()
instance.setEncoding('utf8')
ERR_STREAM_WRITE_AFTER_END
stream.end()
が呼び出された後に stream.write()
を呼び出そうとしました。
ERR_STRING_TOO_LONG
許可された最大長を超える文字列を作成しようとしました。
ERR_SYNTHETIC
診断レポートの呼び出しスタックをキャプチャするために使用される人工的なエラーオブジェクト。
ERR_SYSTEM_ERROR
Node.js プロセス内で特定されない、または非特定のシステムエラーが発生しました。エラーオブジェクトには、追加の詳細情報を含む err.info
オブジェクトプロパティがあります。
ERR_TAP_LEXER_ERROR
失敗したレクサの状態を表すエラー。
ERR_TAP_PARSER_ERROR
失敗したパーサーの状態を表すエラー。エラーの原因となったトークンに関する追加情報は、cause
プロパティを介して利用できます。
ERR_TAP_VALIDATION_ERROR
このエラーは、TAP バリデーションの失敗を表します。
ERR_TEST_FAILURE
このエラーは、失敗したテストを表します。失敗に関する追加情報は、cause
プロパティを介して利用できます。failureType
プロパティは、失敗が発生したときにテストが何をしていたかを指定します。
ERR_TLS_ALPN_CALLBACK_INVALID_RESULT
このエラーは、ALPNCallback
がクライアントによって提供される ALPN プロトコルリストにない値を返した場合にスローされます。
ERR_TLS_ALPN_CALLBACK_WITH_PROTOCOLS
このエラーは、TLS オプションに ALPNProtocols
と ALPNCallback
の両方が含まれている場合に TLSServer
を作成するときにスローされます。これらのオプションは相互に排他的です。
ERR_TLS_CERT_ALTNAME_FORMAT
このエラーは、ユーザーが指定した subjectaltname
プロパティがエンコーディングルールに違反する場合に checkServerIdentity
によってスローされます。Node.js 自体によって生成された証明書オブジェクトは常にエンコーディングルールに準拠しており、このエラーを引き起こすことはありません。
ERR_TLS_CERT_ALTNAME_INVALID
TLS の使用中に、ピアのホスト名/IP が証明書の subjectAltNames
のいずれとも一致しませんでした。
ERR_TLS_DH_PARAM_SIZE
TLS の使用中に、Diffie-Hellman (DH
) 鍵交換プロトコルに提供されたパラメーターが小さすぎます。デフォルトでは、脆弱性を回避するために、鍵長は 1024 ビット以上である必要があります。ただし、より強力なセキュリティのために 2048 ビット以上を使用することが強く推奨されます。
ERR_TLS_HANDSHAKE_TIMEOUT
TLS/SSL ハンドシェイクがタイムアウトしました。この場合、サーバーも接続を中止する必要があります。
ERR_TLS_INVALID_CONTEXT
追加: v13.3.0
コンテキストは SecureContext
である必要があります。
ERR_TLS_INVALID_PROTOCOL_METHOD
指定された secureProtocol
メソッドが無効です。不明であるか、安全でないために無効になっています。
ERR_TLS_INVALID_PROTOCOL_VERSION
有効な TLS プロトコルバージョンは 'TLSv1'
, 'TLSv1.1'
, または 'TLSv1.2'
です。
ERR_TLS_INVALID_STATE
追加: v13.10.0, v12.17.0
TLS ソケットは接続され、安全に確立されている必要があります。続行する前に、'secure'イベントが発行されることを確認してください。
ERR_TLS_PROTOCOL_VERSION_CONFLICT
TLS プロトコルの minVersion
または maxVersion
を設定しようとすると、secureProtocol
を明示的に設定しようとする試みと競合します。どちらかのメカニズムを使用してください。
ERR_TLS_PSK_SET_IDENTITY_HINT_FAILED
PSK ID ヒントの設定に失敗しました。ヒントが長すぎる可能性があります。
ERR_TLS_RENEGOTIATION_DISABLED
再ネゴシエーションが無効になっているソケットインスタンスで TLS の再ネゴシエーションを試みました。
ERR_TLS_REQUIRED_SERVER_NAME
TLS を使用しているときに、server.addContext()
メソッドが最初のパラメータにホスト名を提供せずに呼び出されました。
ERR_TLS_SESSION_ATTACK
過度の TLS 再ネゴシエーションが検出されました。これはサービス拒否攻撃の潜在的なベクターです。
ERR_TLS_SNI_FROM_SERVER
クライアントからのみ有効な TLS サーバー側ソケットからサーバー名表示を発行しようとしました。
ERR_TRACE_EVENTS_CATEGORY_REQUIRED
trace_events.createTracing()
メソッドには、少なくとも 1 つのトレースイベントカテゴリが必要です。
ERR_TRACE_EVENTS_UNAVAILABLE
Node.js が--without-v8-platform
フラグでコンパイルされたため、node:trace_events
モジュールをロードできませんでした。
ERR_TRANSFORM_ALREADY_TRANSFORMING
Transform
ストリームが変換中に終了しました。
ERR_TRANSFORM_WITH_LENGTH_0
Transform
ストリームが、書き込みバッファにまだデータがある状態で終了しました。
ERR_TTY_INIT_FAILED
システムエラーにより、TTY の初期化に失敗しました。
ERR_UNAVAILABLE_DURING_EXIT
process.on('exit')
ハンドラー内で、process.on('exit')
ハンドラー内で呼び出すべきでない関数が呼び出されました。
ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET
process.setUncaughtExceptionCaptureCallback()
が、最初にコールバックを null
にリセットすることなく、2 回呼び出されました。
このエラーは、別のモジュールから登録されたコールバックを誤って上書きすることを防ぐように設計されています。
ERR_UNESCAPED_CHARACTERS
エスケープされていない文字を含む文字列を受信しました。
ERR_UNHANDLED_ERROR
未処理のエラーが発生しました(例えば、EventEmitter
によって 'error'
イベントが発生したが、'error'
ハンドラーが登録されていない場合など)。
ERR_UNKNOWN_BUILTIN_MODULE
ユーザーコードによって通常トリガーされるべきではない、特定の種類の内部 Node.js エラーを識別するために使用されます。このエラーのインスタンスは、Node.js バイナリ自体の内部バグを指します。
ERR_UNKNOWN_CREDENTIAL
存在しない Unix グループまたはユーザー識別子が渡されました。
ERR_UNKNOWN_ENCODING
無効または不明なエンコーディングオプションが API に渡されました。
ERR_UNKNOWN_FILE_EXTENSION
不明またはサポートされていないファイル拡張子を持つモジュールをロードしようとしました。
ERR_UNKNOWN_MODULE_FORMAT
不明またはサポートされていない形式のモジュールをロードしようとしました。
ERR_UNKNOWN_SIGNAL
無効または不明なプロセスシグナルが、有効なシグナルを期待する API(例えば、subprocess.kill()
)に渡されました。
ERR_UNSUPPORTED_DIR_IMPORT
ディレクトリ URL の import
はサポートされていません。代わりに、パッケージ名を自己参照し、package.json
ファイルの "exports"
フィールドでカスタムサブパスを定義してください。
import './' // サポートされていません
import './index.js' // サポートされています
import 'package-name' // サポートされています
ERR_UNSUPPORTED_ESM_URL_SCHEME
file
および data
以外の URL スキームを使用した import
はサポートされていません。
ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING
追加: v22.6.0
node_modules
ディレクトリの子孫であるファイルに対する型ストリッピングはサポートされていません。
ERR_UNSUPPORTED_RESOLVE_REQUEST
無効なモジュールリファラーを解決しようとしました。これは、次のいずれかで import
または import.meta.resolve()
を呼び出すときに発生する可能性があります。
try {
// `data:` URL モジュールからパッケージ 'bare-specifier' をインポートしようとしています:
await import('data:text/javascript,import "bare-specifier"')
} catch (e) {
console.log(e.code) // ERR_UNSUPPORTED_RESOLVE_REQUEST
}
ERR_USE_AFTER_CLOSE
既に閉じられたものを使用しようとしました。
ERR_VALID_PERFORMANCE_ENTRY_TYPE
Performance Timing API(perf_hooks
)の使用中に、有効なパフォーマンスエントリタイプが見つかりませんでした。
ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING
動的インポートコールバックが指定されていませんでした。
ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING_FLAG
--experimental-vm-modules
なしで動的インポートコールバックが呼び出されました。
ERR_VM_MODULE_ALREADY_LINKED
リンクしようとしたモジュールは、以下のいずれかの理由により、リンクの対象になりません。
- すでにリンクされている (
linkingStatus
が'linked'
) - リンク処理中である (
linkingStatus
が'linking'
) - このモジュールのリンクが失敗している (
linkingStatus
が'errored'
)
ERR_VM_MODULE_CACHED_DATA_REJECTED
モジュールコンストラクターに渡された cachedData
オプションが無効です。
ERR_VM_MODULE_CANNOT_CREATE_CACHED_DATA
すでに評価されたモジュールに対してキャッシュデータを作成することはできません。
ERR_VM_MODULE_DIFFERENT_CONTEXT
リンカー関数から返されたモジュールは、親モジュールとは異なるコンテキストからのものです。リンクされたモジュールは同じコンテキストを共有する必要があります。
ERR_VM_MODULE_LINK_FAILURE
モジュールは失敗のためリンクできませんでした。
ERR_VM_MODULE_NOT_MODULE
リンキングプロミスの解決値は、vm.Module
オブジェクトではありません。
ERR_VM_MODULE_STATUS
現在のモジュールのステータスでは、この操作は許可されていません。エラーの具体的な意味は、特定の関数によって異なります。
ERR_WASI_ALREADY_STARTED
WASI インスタンスはすでに開始されています。
ERR_WASI_NOT_STARTED
WASI インスタンスは開始されていません。
ERR_WEBASSEMBLY_RESPONSE
追加: v18.1.0
WebAssembly.compileStreaming
または WebAssembly.instantiateStreaming
に渡された Response
は、有効な WebAssembly レスポンスではありません。
ERR_WORKER_INIT_FAILED
Worker
の初期化に失敗しました。
ERR_WORKER_INVALID_EXEC_ARGV
Worker
コンストラクターに渡された execArgv
オプションに無効なフラグが含まれています。
ERR_WORKER_MESSAGING_ERRORED
追加: v22.5.0
postMessageToThread()
を介して送信されたメッセージを処理中に、送信先スレッドがエラーをスローしました。
ERR_WORKER_MESSAGING_FAILED
追加: v22.5.0
postMessageToThread()
で要求されたスレッドが無効であるか、workerMessage
リスナーがありません。
ERR_WORKER_MESSAGING_SAME_THREAD
追加: v22.5.0
postMessageToThread()
で要求されたスレッド ID が現在のスレッド ID です。
ERR_WORKER_MESSAGING_TIMEOUT
追加: v22.5.0
postMessageToThread()
を介してメッセージを送信する際にタイムアウトしました。
ERR_WORKER_NOT_RUNNING
Worker
インスタンスが現在実行されていないため、操作が失敗しました。
ERR_WORKER_OUT_OF_MEMORY
Worker
インスタンスがメモリ制限に達したため終了しました。
ERR_WORKER_PATH
ワーカーのメインスクリプトのパスが、絶対パスでも ./
または ../
で始まる相対パスでもありません。
ERR_WORKER_UNSERIALIZABLE_ERROR
ワーカー スレッドからのキャッチされない例外をシリアル化するすべての試みが失敗しました。
ERR_WORKER_UNSUPPORTED_OPERATION
要求された機能はワーカー スレッドではサポートされていません。
ERR_ZLIB_INITIALIZATION_FAILED
構成が正しくないため、zlib
オブジェクトの作成に失敗しました。
HPE_CHUNK_EXTENSIONS_OVERFLOW
追加: v21.6.2, v20.11.1, v18.19.1
チャンク拡張子に対して受信したデータが多すぎます。悪意のあるクライアントまたは誤って構成されたクライアントから保護するために、16 KiB を超えるデータを受信した場合、このコードを持つ Error
が発生します。
HPE_HEADER_OVERFLOW
[履歴]
バージョン | 変更点 |
---|---|
v11.4.0, v10.15.0 | http_parser の最大ヘッダーサイズが 8 KiB に設定されました。 |
HTTP ヘッダーデータが多すぎます。悪意のあるクライアントや設定ミスのあるクライアントから保護するため、maxHeaderSize
を超える HTTP ヘッダーデータを受信した場合、リクエストまたはレスポンスオブジェクトを作成せずに HTTP 解析が中止され、このコードのエラーが発行されます。
HPE_UNEXPECTED_CONTENT_LENGTH
サーバーが Content-Length
ヘッダーと Transfer-Encoding: chunked
の両方を送信しています。
Transfer-Encoding: chunked
を使用すると、サーバーは動的に生成されたコンテンツに対して HTTP 永続接続を維持できます。この場合、Content-Length
HTTP ヘッダーは使用できません。
Content-Length
または Transfer-Encoding: chunked
のいずれかを使用してください。
MODULE_NOT_FOUND
[履歴]
バージョン | 変更点 |
---|---|
v12.0.0 | requireStack プロパティが追加されました。 |
require()
操作中、またはプログラムのエントリーポイントのロード中に、CommonJS モジュールローダーがモジュールファイルを解決できませんでした。
レガシー Node.js エラーコード
ERR_CANNOT_TRANSFER_OBJECT
追加: v10.5.0
削除: v12.5.0
postMessage()
に渡された値に、転送がサポートされていないオブジェクトが含まれていました。
ERR_CPU_USAGE
削除: v15.0.0
process.cpuUsage
からのネイティブ呼び出しを処理できませんでした。
ERR_CRYPTO_HASH_DIGEST_NO_UTF16
追加: v9.0.0
削除: v12.12.0
UTF-16 エンコーディングが hash.digest()
で使用されました。hash.digest()
メソッドは encoding
引数を渡すことができ、メソッドが Buffer
ではなく文字列を返すようになりますが、UTF-16 エンコーディング (例: ucs
または utf16le
) はサポートされていません。
ERR_CRYPTO_SCRYPT_INVALID_PARAMETER
削除: v23.0.0
crypto.scrypt()
または crypto.scryptSync()
に、互換性のないオプションの組み合わせが渡されました。新しいバージョンの Node.js では、代わりにエラーコード ERR_INCOMPATIBLE_OPTION_PAIR
が使用され、他の API との一貫性が保たれています。
ERR_FS_INVALID_SYMLINK_TYPE
削除: v23.0.0
無効なシンボリックリンクタイプが、fs.symlink()
または fs.symlinkSync()
メソッドに渡されました。
ERR_HTTP2_FRAME_ERROR
追加: v9.0.0
削除: v10.0.0
HTTP/2 セッションで個々のフレームの送信に失敗した場合に使用されます。
ERR_HTTP2_HEADERS_OBJECT
追加: v9.0.0
削除: v10.0.0
HTTP/2 ヘッダーオブジェクトが期待される場合に使用されます。
ERR_HTTP2_HEADER_REQUIRED
追加: v9.0.0
削除: v10.0.0
HTTP/2 メッセージに必要なヘッダーがない場合に使用されます。
ERR_HTTP2_INFO_HEADERS_AFTER_RESPOND
追加: v9.0.0
削除: v10.0.0
HTTP/2 の情報ヘッダーは、Http2Stream.prototype.respond()
メソッドを呼び出す 前 にのみ送信する必要があります。
ERR_HTTP2_STREAM_CLOSED
追加: v9.0.0
削除: v10.0.0
既に閉じられた HTTP/2 ストリームでアクションが実行された場合に使用されます。
ERR_HTTP_INVALID_CHAR
追加: v9.0.0
削除: v10.0.0
HTTP 応答ステータスメッセージ (理由フレーズ) に無効な文字が見つかった場合に使用されます。
ERR_IMPORT_ASSERTION_TYPE_FAILED
追加: v17.1.0, v16.14.0
削除: v21.1.0
インポートアサーションが失敗し、指定されたモジュールのインポートが妨げられています。
ERR_IMPORT_ASSERTION_TYPE_MISSING
追加: v17.1.0, v16.14.0
削除: v21.1.0
インポートアサーションが欠落しているため、指定されたモジュールのインポートが妨げられています。
ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED
追加: v17.1.0, v16.14.0
削除: v21.1.0
インポート属性が、このバージョンの Node.js でサポートされていません。
ERR_INDEX_OUT_OF_RANGE
追加: v10.0.0
削除: v11.0.0
指定されたインデックスが許容範囲外でした(例:負のオフセット)。
ERR_INVALID_OPT_VALUE
追加: v8.0.0
削除: v15.0.0
無効または予期しない値が options オブジェクトに渡されました。
ERR_INVALID_OPT_VALUE_ENCODING
追加: v9.0.0
削除: v15.0.0
無効または不明なファイルエンコーディングが渡されました。
ERR_INVALID_PERFORMANCE_MARK
追加: v8.5.0
削除: v16.7.0
Performance Timing API(perf_hooks
)の使用中に、パフォーマンスマークが無効です。
ERR_INVALID_TRANSFER_OBJECT
[履歴]
バージョン | 変更 |
---|---|
v21.0.0 | 代わりにDOMException がスローされます。 |
v21.0.0 | 削除: v21.0.0 |
無効な転送オブジェクトがpostMessage()
に渡されました。
ERR_MANIFEST_ASSERT_INTEGRITY
削除: v22.2.0
リソースをロードしようとしましたが、リソースがポリシーマニフェストで定義された整合性と一致しませんでした。詳細については、ポリシーマニフェストのドキュメントを参照してください。
ERR_MANIFEST_DEPENDENCY_MISSING
削除: v22.2.0
リソースをロードしようとしましたが、リソースをロードしようとした場所からの依存関係としてリストされていませんでした。詳細については、ポリシーマニフェストのドキュメントを参照してください。
ERR_MANIFEST_INTEGRITY_MISMATCH
削除: v22.2.0
ポリシーマニフェストをロードしようとしましたが、マニフェストにリソースに対して互いに一致しない複数のエントリがありました。このエラーを解決するには、マニフェストエントリを一致するように更新してください。詳細については、ポリシーマニフェストのドキュメントを参照してください。
ERR_MANIFEST_INVALID_RESOURCE_FIELD
削除: v22.2.0
ポリシーマニフェストリソースに、そのフィールドの 1 つに無効な値がありました。このエラーを解決するには、マニフェストエントリを一致するように更新してください。詳細については、ポリシーマニフェストのドキュメントを参照してください。
ERR_MANIFEST_INVALID_SPECIFIER
Removed in: v22.2.0
ポリシーマニフェストリソースの依存関係マッピングのいずれかに無効な値がありました。このエラーを解決するには、マニフェストエントリを一致するように更新してください。詳細については、ポリシーマニフェストのドキュメントを参照してください。
ERR_MANIFEST_PARSE_POLICY
Removed in: v22.2.0
ポリシーマニフェストをロードしようとしましたが、マニフェストを解析できませんでした。詳細については、ポリシーマニフェストのドキュメントを参照してください。
ERR_MANIFEST_TDZ
Removed in: v22.2.0
ポリシーマニフェストから読み込もうとしましたが、マニフェストの初期化がまだ行われていません。これは Node.js のバグである可能性があります。
ERR_MANIFEST_UNKNOWN_ONERROR
Removed in: v22.2.0
ポリシーマニフェストがロードされましたが、「onerror」動作に不明な値がありました。詳細については、ポリシーマニフェストのドキュメントを参照してください。
ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST
Removed in: v15.0.0
このエラーコードは、Node.js v15.0.0 でERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST
に置き換えられました。これは、転送可能なオブジェクトの他のタイプも存在するようになったため、もはや正確ではないからです。
ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST
[履歴]
バージョン | 変更点 |
---|---|
v21.0.0 | 代わりにDOMException がスローされるようになりました。 |
v21.0.0 | Removed in: v21.0.0 |
v15.0.0 | Added in: v15.0.0 |
postMessage()
呼び出しに渡されたオブジェクトに、transferList
引数に明示的にリストする必要があるオブジェクトがありますが、その呼び出しのtransferList
で提供されていません。通常、これはMessagePort
です。
Node.js の v15.0.0 より前のバージョンでは、ここで使用されていたエラーコードはERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST
でした。ただし、転送可能なオブジェクトのタイプのセットは、MessagePort
よりも多くのタイプをカバーするように拡張されました。
ERR_NAPI_CONS_PROTOTYPE_OBJECT
Added in: v9.0.0
Removed in: v10.0.0
Constructor.prototype
がオブジェクトでない場合、Node-API
で使用されます。
ERR_NAPI_TSFN_START_IDLE_LOOP
追加: v10.6.0, v8.16.0
削除: v14.2.0, v12.17.0
メインスレッドでは、スレッドセーフ関数に関連付けられたキューから値がアイドルループで削除されます。このエラーは、ループを開始しようとしたときにエラーが発生したことを示します。
ERR_NAPI_TSFN_STOP_IDLE_LOOP
追加: v10.6.0, v8.16.0
削除: v14.2.0, v12.17.0
キューにアイテムが残っていない場合、アイドルループは中断する必要があります。このエラーは、アイドルループが停止に失敗したことを示します。
ERR_NO_LONGER_SUPPORTED
Node.js API が、Buffer.write(string, encoding, offset[, length])
のように、サポートされていない方法で呼び出されました。
ERR_OUTOFMEMORY
追加: v9.0.0
削除: v10.0.0
操作がメモリ不足の状態を引き起こしたことを特定するために一般的に使用されます。
ERR_PARSE_HISTORY_DATA
追加: v9.0.0
削除: v10.0.0
node:repl
モジュールが、REPL 履歴ファイルからデータを解析できませんでした。
ERR_SOCKET_CANNOT_SEND
追加: v9.0.0
削除: v14.0.0
ソケットでデータを送信できませんでした。
ERR_STDERR_CLOSE
[履歴]
バージョン | 変更点 |
---|---|
v10.12.0 | エラーを発行する代わりに、process.stderr.end() はストリーム側のみを閉じ、基になるリソースは閉じなくなりました。このエラーは不要になりました。 |
v10.12.0 | 削除: v10.12.0 |
process.stderr
ストリームを閉じようとしました。設計上、Node.js では、ユーザーコードが stdout
または stderr
ストリームを閉じることは許可されていません。
ERR_STDOUT_CLOSE
[履歴]
バージョン | 変更点 |
---|---|
v10.12.0 | エラーを発行する代わりに、process.stderr.end() はストリーム側のみを閉じ、基になるリソースは閉じなくなりました。このエラーは不要になりました。 |
v10.12.0 | 削除: v10.12.0 |
process.stdout
ストリームを閉じようとしました。設計上、Node.js では、ユーザーコードが stdout
または stderr
ストリームを閉じることは許可されていません。
ERR_STREAM_READ_NOT_IMPLEMENTED
追加: v9.0.0
削除: v10.0.0
readable._read()
を実装していない readable stream を使用しようとしたときに使用されます。
ERR_TLS_RENEGOTIATION_FAILED
追加: v9.0.0
削除: v10.0.0
TLS 再ネゴシエーションリクエストが特定できない方法で失敗した場合に使用されます。
ERR_TRANSFERRING_EXTERNALIZED_SHAREDARRAYBUFFER
追加: v10.5.0
削除: v14.0.0
JavaScript エンジンまたは Node.js によってメモリが管理されていないSharedArrayBuffer
がシリアライズ中に検出されました。このようなSharedArrayBuffer
はシリアライズできません。
これは、ネイティブアドオンが「外部化」モードでSharedArrayBuffer
を作成するか、既存のSharedArrayBuffer
を外部化モードにした場合にのみ発生する可能性があります。
ERR_UNKNOWN_STDIN_TYPE
追加: v8.0.0
削除: v11.7.0
不明なstdin
ファイルタイプで Node.js プロセスを起動しようとしました。このエラーは通常、Node.js 自体のバグを示していますが、ユーザーコードでトリガーすることも可能です。
ERR_UNKNOWN_STREAM_TYPE
追加: v8.0.0
削除: v11.7.0
不明なstdout
またはstderr
ファイルタイプで Node.js プロセスを起動しようとしました。このエラーは通常、Node.js 自体のバグを示していますが、ユーザーコードでトリガーすることも可能です。
ERR_V8BREAKITERATOR
V8 BreakIterator
API が使用されましたが、完全な ICU データセットがインストールされていません。
ERR_VALUE_OUT_OF_RANGE
追加: v9.0.0
削除: v10.0.0
指定された値が許容範囲外の場合に使用されます。
ERR_VM_MODULE_LINKING_ERRORED
追加: v10.0.0
削除: v18.1.0, v16.17.0
リンカー関数が、リンクに失敗したモジュールを返しました。
ERR_VM_MODULE_NOT_LINKED
モジュールはインスタンス化する前に正常にリンクされている必要があります。
ERR_WORKER_UNSUPPORTED_EXTENSION
追加: v11.0.0
削除: v16.9.0
ワーカーのメインスクリプトに使用されたパス名に、不明なファイル拡張子があります。
ERR_ZLIB_BINDING_CLOSED
追加: v9.0.0
削除: v10.0.0
既に閉じられているzlib
オブジェクトを使用しようとした場合に使用されます。
OpenSSL エラーコード
時間の有効性に関するエラー
CERT_NOT_YET_VALID
証明書はまだ有効ではありません。notBefore 日付が現在時刻より後です。
CERT_HAS_EXPIRED
証明書の有効期限が切れています。notAfter 日付が現在時刻より前です。
CRL_NOT_YET_VALID
証明書失効リスト(CRL)の発行日が未来です。
CRL_HAS_EXPIRED
証明書失効リスト(CRL)の有効期限が切れています。
CERT_REVOKED
証明書は失効されています。証明書失効リスト(CRL)に記載されています。
信頼またはチェーン関連のエラー
UNABLE_TO_GET_ISSUER_CERT
検索された証明書の発行者の証明書が見つかりませんでした。これは通常、信頼できる証明書リストが完全ではないことを意味します。
UNABLE_TO_GET_ISSUER_CERT_LOCALLY
証明書の発行者が不明です。発行者が信頼できる証明書リストに含まれていない場合がこれに該当します。
DEPTH_ZERO_SELF_SIGNED_CERT
渡された証明書は自己署名されており、同じ証明書が信頼できる証明書リストに見つかりません。
SELF_SIGNED_CERT_IN_CHAIN
証明書の発行者が不明です。発行者が信頼できる証明書リストに含まれていない場合がこれに該当します。
CERT_CHAIN_TOO_LONG
証明書チェーンの長さが最大深度を超えています。
UNABLE_TO_GET_CRL
証明書で参照されている CRL が見つかりませんでした。
UNABLE_TO_VERIFY_LEAF_SIGNATURE
チェーンに証明書が 1 つしか含まれておらず、それが自己署名されていないため、署名を検証できませんでした。
CERT_UNTRUSTED
ルート認証局(CA)が、指定された目的のために信頼されているとはマークされていません。
基本的な拡張機能エラー
INVALID_CA
CA 証明書が無効です。CA ではないか、その拡張機能が指定された目的に適合していません。
PATH_LENGTH_EXCEEDED
basicConstraints の pathlength パラメータが超過しました。
名前関連のエラー
HOSTNAME_MISMATCH
証明書が提供された名前と一致しません。
使用法とポリシーのエラー
INVALID_PURPOSE
指定された目的のために提供された証明書を使用できません。
CERT_REJECTED
ルート CA は指定された目的を拒否するようにマークされています。
フォーマットエラー
CERT_SIGNATURE_FAILURE
証明書の署名が無効です。
CRL_SIGNATURE_FAILURE
証明書失効リスト (CRL) の署名が無効です。
ERROR_IN_CERT_NOT_BEFORE_FIELD
証明書の notBefore フィールドに無効な時間が含まれています。
ERROR_IN_CERT_NOT_AFTER_FIELD
証明書の notAfter フィールドに無効な時間が含まれています。
ERROR_IN_CRL_LAST_UPDATE_FIELD
CRL の lastUpdate フィールドに無効な時間が含まれています。
ERROR_IN_CRL_NEXT_UPDATE_FIELD
CRL の nextUpdate フィールドに無効な時間が含まれています。
UNABLE_TO_DECRYPT_CERT_SIGNATURE
証明書の署名を復号化できませんでした。これは、期待される値と一致しないのではなく、実際の署名値を決定できなかったことを意味します。これは RSA キーに対してのみ意味があります。
UNABLE_TO_DECRYPT_CRL_SIGNATURE
証明書失効リスト (CRL) の署名を復号化できませんでした。これは、期待される値と一致しないのではなく、実際の署名値を決定できなかったことを意味します。
UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY
証明書の SubjectPublicKeyInfo の公開鍵を読み取ることができませんでした。
その他の OpenSSL エラー
OUT_OF_MEM
メモリの割り当て中にエラーが発生しました。これは決して起こるべきではありません。