오류
Node.js에서 실행되는 애플리케이션은 일반적으로 네 가지 범주의 오류를 경험합니다.
- <EvalError>, <SyntaxError>, <RangeError>, <ReferenceError>, <TypeError>, 및 <URIError> 와 같은 표준 JavaScript 오류.
- 존재하지 않는 파일을 열려고 하거나 닫힌 소켓을 통해 데이터를 보내려고 하는 등 기본 운영 체제 제약 조건으로 인해 발생하는 시스템 오류.
- 애플리케이션 코드에 의해 발생하는 사용자 지정 오류.
AssertionError
는 Node.js가 발생해서는 안 되는 예외적인 논리 위반을 감지할 때 발생할 수 있는 특수한 오류 클래스입니다. 이러한 오류는 일반적으로node:assert
모듈에 의해 발생합니다.
Node.js에서 발생하는 모든 JavaScript 및 시스템 오류는 표준 JavaScript <Error> 클래스에서 상속되거나 해당 클래스의 인스턴스이며, 해당 클래스에서 사용 가능한 속성을 최소한 제공한다는 것이 보장됩니다.
오류 전파 및 인터셉션
Node.js는 애플리케이션 실행 중에 발생하는 오류를 전파하고 처리하기 위한 여러 가지 메커니즘을 지원합니다. 이러한 오류가 보고되고 처리되는 방법은 Error
의 유형과 호출되는 API의 스타일에 따라 전적으로 달라집니다.
모든 JavaScript 오류는 표준 JavaScript throw
메커니즘을 사용하여 오류를 즉시 생성하고 throw하는 예외로 처리됩니다. 이러한 오류는 JavaScript 언어에서 제공하는 try…catch
구문을 사용하여 처리됩니다.
// z가 정의되지 않았으므로 ReferenceError를 throw합니다.
try {
const m = 1
const n = m + z
} catch (err) {
// 여기서 오류를 처리합니다.
}
JavaScript throw
메커니즘을 사용하면 예외가 발생하며, 이 예외는 반드시 처리되어야 합니다. 그렇지 않으면 Node.js 프로세스가 즉시 종료됩니다.
몇 가지 예외를 제외하고, 동기 API(<Promise>를 반환하거나 callback
함수를 허용하지 않는 모든 차단 메서드, 예: fs.readFileSync
)는 오류를 보고하기 위해 throw
를 사용합니다.
비동기 API 내에서 발생하는 오류는 여러 가지 방법으로 보고될 수 있습니다.
- 일부 비동기 메서드는 <Promise>를 반환하며, 거부될 가능성을 항상 고려해야 합니다. 처리되지 않은 Promise 거부에 대한 프로세스의 반응 방식은
--unhandled-rejections
플래그를 참조하십시오. callback
함수를 허용하는 대부분의 비동기 메서드는 해당 함수의 첫 번째 인수로 전달된Error
객체를 허용합니다. 첫 번째 인수가null
이 아니고Error
의 인스턴스인 경우 처리해야 하는 오류가 발생한 것입니다.EventEmitter
인 객체에서 비동기 메서드를 호출하면 오류를 해당 객체의'error'
이벤트로 라우팅할 수 있습니다.- Node.js API의 소수의 일반적인 비동기 메서드는 여전히
throw
메커니즘을 사용하여try…catch
를 사용하여 처리해야 하는 예외를 발생시킬 수 있습니다. 이러한 메서드의 포괄적인 목록은 없으므로 각 메서드의 설명서를 참조하여 필요한 적절한 오류 처리 메커니즘을 확인하십시오.
'error'
이벤트 메커니즘의 사용은 스트림 기반 및 이벤트 방출기 기반 API에 가장 일반적이며, 이러한 API 자체는 시간에 따른 일련의 비동기 작업(성공하거나 실패할 수 있는 단일 작업과는 대조적으로)을 나타냅니다.
모든 EventEmitter
객체의 경우 'error'
이벤트 처리기가 제공되지 않으면 오류가 throw되고 Node.js 프로세스는 처리되지 않은 예외를 보고하고 다음 중 하나가 아닌 경우 충돌합니다. 'uncaughtException'
이벤트에 대한 처리기가 등록되었거나 사용되지 않는 node:domain
모듈이 사용된 경우.
const EventEmitter = require('node:events')
const ee = new EventEmitter()
setImmediate(() => {
// 'error' 이벤트 처리기가 추가되지 않았으므로 프로세스가 충돌합니다.
ee.emit('error', new Error('This will crash'))
})
이런 방식으로 생성된 오류는 호출 코드가 이미 종료된 후에 throw되므로 try…catch
를 사용하여 인터셉트할 수 없습니다.
개발자는 각 메서드의 설명서를 참조하여 해당 메서드에서 발생하는 오류가 어떻게 전파되는지 정확히 확인해야 합니다.
클래스: Error
특정 오류 발생 상황을 나타내지 않는 일반적인 JavaScript <Error> 객체입니다. Error
객체는 Error
가 인스턴스화된 코드의 지점을 자세히 설명하는 "스택 추적"을 캡처하고 오류에 대한 텍스트 설명을 제공할 수 있습니다.
Node.js에서 생성된 모든 오류(모든 시스템 및 JavaScript 오류 포함)는 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() {
// 스택 추적을 두 번 계산하지 않도록 스택 추적 없이 오류를 만듭니다.
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
의 근본 원인입니다. 오류를 잡고 다른 메시지나 코드로 새 오류를 throw할 때 원래 오류에 계속 액세스하기 위해 사용됩니다.
error.cause
속성은 일반적으로 new Error(message, { cause })
를 호출하여 설정됩니다. cause
옵션을 제공하지 않으면 생성자에서 설정되지 않습니다.
이 속성을 사용하면 오류를 연결할 수 있습니다. Error
객체를 직렬화할 때 util.inspect()
는 설정된 경우 error.cause
를 재귀적으로 직렬화합니다.
const cause = new Error('The remote HTTP server responded with a 500 status')
const symptom = new Error('The message failed to send', { cause })
console.log(symptom)
// 출력:
// Error: The message failed to send
// 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: The remote HTTP server responded with a 500 status
// 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)
첫 번째 줄은 \<error class name\>: \<error message\>
형식으로 표시되며, 일련의 스택 프레임(각 줄은 "at "로 시작)이 뒤따릅니다. 각 프레임은 오류가 생성되는 원인이 된 코드 내의 호출 사이트를 설명합니다. V8은 각 함수에 대한 이름(변수 이름, 함수 이름 또는 객체 메서드 이름으로)을 표시하려고 하지만, 가끔 적절한 이름을 찾을 수 없을 수도 있습니다. V8이 함수의 이름을 확인할 수 없는 경우 해당 프레임에 대한 위치 정보만 표시됩니다. 그렇지 않으면 확인된 함수 이름이 괄호 안에 추가된 위치 정보와 함께 표시됩니다.
프레임은 JavaScript 함수에 대해서만 생성됩니다. 예를 들어, 실행이 cheetahify
라는 C++ 애드온 함수를 통해 동기적으로 전달되고, 그 자체가 JavaScript 함수를 호출하는 경우, cheetahify
호출을 나타내는 프레임은 스택 추적에 표시되지 않습니다.
const cheetahify = require('./native-binding.node')
function makeFaster() {
// `cheetahify()` *synchronously* calls 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
위치 정보는 다음 중 하나입니다.
- 프레임이 V8 내부 호출(예:
[].forEach
)을 나타내는 경우native
. - 프레임이 Node.js 내부 호출을 나타내는 경우
plain-filename.js:line:column
. - 프레임이 사용자 프로그램(CommonJS 모듈 시스템 사용) 또는 종속성 내의 호출을 나타내는 경우
/absolute/path/to/file.js:line:column
. - 프레임이 사용자 프로그램(ES 모듈 시스템 사용) 또는 종속성 내의 호출을 나타내는 경우
\<transport-protocol\>:///url/to/module/file.mjs:line:column
.
스택 추적을 나타내는 문자열은 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
인스턴스를 즉시 생성하고 throw합니다.
클래스: 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
인스턴스는 생성한 컨텍스트에서는 복구할 수 없습니다. 다른 컨텍스트에서만 catch할 수 있습니다.
클래스: 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 오류 처리
에 정의된 오류 코드에 해당하는 음수입니다.
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
속성은 실패한 시스템 호출을 설명하는 문자열입니다.
일반적인 시스템 오류
Node.js 프로그램을 작성할 때 자주 발생하는 시스템 오류 목록입니다. 전체 목록은 errno
(3) 매뉴얼 페이지를 참조하십시오.
EACCES
(권한 거부): 파일 접근 권한으로 금지된 방식으로 파일에 접근하려는 시도가 있었습니다.EADDRINUSE
(주소 이미 사용 중): 로컬 주소에 서버(net
,http
또는https
)를 바인딩하려는 시도가 로컬 시스템의 다른 서버가 이미 해당 주소를 차지하고 있기 때문에 실패했습니다.ECONNREFUSED
(연결 거부됨): 대상 머신이 적극적으로 거부했기 때문에 연결을 만들 수 없습니다. 이는 일반적으로 외국 호스트에서 비활성 상태인 서비스에 연결하려고 할 때 발생합니다.ECONNRESET
(피어에 의해 연결 재설정됨): 연결이 피어에 의해 강제로 닫혔습니다. 이는 일반적으로 타임아웃 또는 재부팅으로 인해 원격 소켓의 연결이 손실되어 발생합니다.http
및net
모듈을 통해 자주 발생합니다.EEXIST
(파일이 이미 있음): 기존 파일이 대상이 존재하지 않아야 하는 작업의 대상이었습니다.EISDIR
(디렉토리임): 작업에서 파일을 예상했지만 지정된 경로 이름이 디렉토리였습니다.EMFILE
(시스템에서 열려 있는 파일이 너무 많음): 시스템에서 허용되는 파일 디스크립터의 최대 수에 도달했으며, 하나 이상이 닫힐 때까지 다른 디스크립터에 대한 요청을 충족할 수 없습니다. 이는 특히 프로세스의 파일 디스크립터 제한이 낮은 시스템(특히 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
제공된 인수가 허용되는 유형이 아님을 나타냅니다. 예를 들어, 문자열을 기대하는 매개변수에 함수를 전달하는 것은 TypeError
가 됩니다.
require('node:url').parse(() => {})
// 문자열을 기대했으므로 TypeError를 throw합니다.
Node.js는 인수 유효성 검사의 형태로 TypeError
인스턴스를 즉시 생성하고 throw합니다.
예외와 오류
JavaScript 예외는 잘못된 작업의 결과로 또는 throw
문의 대상으로 throw되는 값입니다. 이러한 값이 Error
또는 Error
에서 상속된 클래스의 인스턴스일 필요는 없지만, Node.js 또는 JavaScript 런타임에서 throw되는 모든 예외는 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
에 의해 throw되는 오류 메시지와 일치할 때 node:assert
모듈에서 throw됩니다. 이 사용법은 사용자가 message
가 block
이 throw되지 않을 경우 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
는 일반적으로 Buffer
가 사용되는 모든 Node.js 코어 API에서 허용됩니다. 모든 컨텍스트에서 사용할 수 있습니다.
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 |
닫힌 상태의 MessagePort
인스턴스를 사용하려고 시도했습니다. 일반적으로 .close()
가 호출된 후 발생합니다.
ERR_CONSOLE_WRITABLE_STREAM
stdout
스트림 없이 Console
이 인스턴스화되었거나, Console
이 쓰기 가능하지 않은 stdout
또는 stderr
스트림을 가지고 있습니다.
ERR_CONSTRUCT_CALL_INVALID
추가됨: v12.5.0
호출할 수 없는 클래스 생성자가 호출되었습니다.
ERR_CONSTRUCT_CALL_REQUIRED
new
없이 클래스의 생성자가 호출되었습니다.
ERR_CONTEXT_NOT_INITIALIZED
API에 전달된 vm 컨텍스트가 아직 초기화되지 않았습니다. 예를 들어, 할당이 실패하거나 컨텍스트 생성 시 최대 호출 스택 크기에 도달하는 등 컨텍스트 생성 중 오류가 발생하고(그리고 catch됨) 이러한 상황이 발생할 수 있습니다.
ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED
사용 중인 OpenSSL 버전에서 지원되지 않는 OpenSSL 엔진이 요청되었습니다(clientCertEngine
또는 privateKeyEngine
TLS 옵션을 통해). 컴파일 타임 플래그 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()
[/api/crypto#cryptosetengineengine-flags]에 잘못된 암호화 엔진 식별자가 전달되었습니다.
ERR_CRYPTO_FIPS_FORCED
--force-fips
[/api/cli#--force-fips] 명령줄 인수가 사용되었지만 node:crypto
모듈에서 FIPS 모드를 활성화하거나 비활성화하려는 시도가 있었습니다.
ERR_CRYPTO_FIPS_UNAVAILABLE
FIPS 모드를 활성화하거나 비활성화하려는 시도가 있었지만 FIPS 모드를 사용할 수 없습니다.
ERR_CRYPTO_HASH_FINALIZED
hash.digest()
[/api/crypto#hashdigestencoding]가 여러 번 호출되었습니다. hash.digest()
메서드는 Hash
객체 인스턴스당 한 번 이상 호출할 수 없습니다.
ERR_CRYPTO_HASH_UPDATE_FAILED
어떤 이유로든 hash.update()
[/api/crypto#hashupdatedata-inputencoding]가 실패했습니다. 이것은 거의 발생하지 않아야 합니다.
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 웹 키가 제공되었습니다.
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()
매개변수가 허용 범위를 벗어났습니다.
ERR_CRYPTO_INVALID_STATE
잘못된 상태에 있는 객체에서 암호화 메서드가 사용되었습니다. 예를 들어, cipher.final()
을 호출하기 전에 cipher.getAuthTag()
를 호출하는 경우입니다.
ERR_CRYPTO_INVALID_TAG_LENGTH
추가됨: v15.0.0
잘못된 인증 태그 길이가 제공되었습니다.
ERR_CRYPTO_JOB_INIT_FAILED
추가됨: v15.0.0
비동기 암호화 작업의 초기화가 실패했습니다.
ERR_CRYPTO_JWK_UNSUPPORTED_CURVE
키의 타원 곡선이 JSON 웹 키 타원 곡선 레지스트리에서 사용하도록 등록되지 않았습니다.
ERR_CRYPTO_JWK_UNSUPPORTED_KEY_TYPE
키의 비대칭 키 유형이 JSON 웹 키 유형 레지스트리에서 사용하도록 등록되지 않았습니다.
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
sign.sign()
메서드에 서명 key
가 제공되지 않았습니다.
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
에 동기 읽기 또는 닫기 호출을 시도했습니다.
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
필요한 오류 처리 후크를 설정할 수 없었기 때문에 node:domain
모듈을 사용할 수 없었습니다. 이는 이전 시점에 process.setUncaughtExceptionCaptureCallback()
이 호출되었기 때문입니다.
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
ESM 입력에는 --print
를 사용할 수 없습니다.
ERR_EVENT_RECURSION
EventTarget
에서 이벤트를 재귀적으로 디스패치하려고 할 때 발생합니다.
ERR_EXECUTION_ENVIRONMENT_NOT_AVAILABLE
JS 실행 컨텍스트가 Node.js 환경과 연결되어 있지 않습니다. Node.js가 임베디드 라이브러리로 사용되고 JS 엔진에 대한 일부 후크가 제대로 설정되지 않은 경우 발생할 수 있습니다.
ERR_FALSY_VALUE_REJECTION
util.callbackify()
를 통해 콜백으로 변환된 Promise
가 거짓 값으로 거부되었습니다.
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 핑이 취소되었습니다.
ERR_HTTP2_PING_LENGTH
HTTP/2 핑 페이로드는 정확히 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
이 0이 아닌 에러 코드로 닫혔습니다.
ERR_HTTP2_SETTINGS_CANCEL
Http2Session
설정이 취소되었습니다.
ERR_HTTP2_SOCKET_BOUND
Http2Session
객체를 이미 다른 Http2Session
객체에 바인딩된 net.Socket
또는 tls.TLSSocket
에 연결하려는 시도가 있었습니다.
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
프레임에 0이 아닌 에러 코드가 지정되었습니다.
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
import 속성이 누락되어 지정된 모듈을 가져올 수 없습니다.
ERR_IMPORT_ATTRIBUTE_TYPE_INCOMPATIBLE
추가됨: v21.1.0
type
import 속성이 제공되었지만, 지정된 모듈의 유형이 다릅니다.
ERR_IMPORT_ATTRIBUTE_UNSUPPORTED
추가됨: v21.0.0, v20.10.0, v18.19.0
이 Node.js 버전에서 import 속성을 지원하지 않습니다.
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
AsyncHooks
를 사용하여 잘못된 asyncId
또는 triggerAsyncId
가 전달되었습니다. -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
지원되지 않는 "handle"을 하위 프로세스에 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
함수 옵션이 실행 시 반환된 객체 속성 중 하나에 대해 유효한 값을 제공하지 않는 경우 발생합니다.
ERR_INVALID_RETURN_PROPERTY_VALUE
함수 옵션이 실행 시 반환된 객체 속성 중 하나에 대해 예상되는 값 유형을 제공하지 않는 경우 발생합니다.
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
호환되지 않는 this
값으로 Node.js API 함수가 호출되었습니다.
const urlSearchParams = new URLSearchParams('foo=bar&baz=new')
const buf = Buffer.alloc(1)
urlSearchParams.has.call(buf, 'foo')
// 'ERR_INVALID_THIS' 코드를 가진 TypeError를 throw합니다.
ERR_INVALID_TUPLE
WHATWG URLSearchParams
생성자에 제공된 iterable
의 요소가 [name, value]
튜플을 나타내지 않았습니다. 즉, 요소가 반복 가능하지 않거나 정확히 두 개의 요소로 구성되지 않은 경우입니다.
ERR_INVALID_TYPESCRIPT_SYNTAX
추가됨: v23.0.0
제공된 TypeScript 구문이 유효하지 않거나 지원되지 않습니다. type-stripping을 사용한 변환이 필요한 TypeScript 구문을 사용할 때 발생할 수 있습니다.
ERR_INVALID_URI
잘못된 URI가 전달되었습니다.
ERR_INVALID_URL
잘못된 URL이 WHATWG URL
생성자 또는 레거시 url.parse()
에 파싱을 위해 전달되었습니다. throw된 오류 객체에는 일반적으로 파싱에 실패한 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
net.BlockList
에 의해 IP가 차단되었습니다.
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
에 게시된 메시지를 대상 vm Context
에서 역직렬화할 수 없습니다. 현재 모든 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의 경우 일부 옵션이 필수일 수 있습니다. 필수 옵션이 누락된 경우 이 코드가 throw됩니다.
ERR_MISSING_PASSPHRASE
암호를 지정하지 않고 암호화된 키를 읽으려고 시도했습니다.
ERR_MISSING_PLATFORM_FOR_WORKER
이 Node.js 인스턴스에서 사용하는 V8 플랫폼은 Worker를 생성하는 것을 지원하지 않습니다. 이는 Worker에 대한 임베더 지원이 부족해서 발생합니다. 특히 이 오류는 표준 Node.js 빌드에서는 발생하지 않습니다.
ERR_MODULE_NOT_FOUND
import
연산을 시도하거나 프로그램 진입점을 로드할 때 ECMAScript 모듈 로더가 모듈 파일을 확인할 수 없었습니다.
ERR_MULTIPLE_CALLBACK
콜백이 한 번 이상 호출되었습니다.
쿼리는 충족되거나 거부될 수 있지만 동시에 둘 다 될 수 없으므로 콜백은 거의 항상 한 번만 호출되도록 의도되어 있습니다. 콜백을 한 번 이상 호출하면 후자의 경우가 가능해집니다.
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 시작 스냅샷을 빌드하지 않고도 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"
필드가 요청된 하위 경로를 내보내지 않습니다. 내보내기는 캡슐화되므로, 내보내지 않는 비공개 내부 모듈은 절대 URL을 사용하지 않는 한 패키지 확인을 통해 가져올 수 없습니다.
ERR_PARSE_ARGS_INVALID_OPTION_VALUE
추가됨: v18.3.0, v16.17.0
strict
이 true
로 설정된 경우, <boolean> 값이 <string> 형식의 옵션에 제공되거나, <string> 값이 <boolean> 형식의 옵션에 제공되는 경우 util.parseArgs()
에 의해 throw됩니다.
ERR_PARSE_ARGS_UNEXPECTED_POSITIONAL
추가됨: v18.3.0, v16.17.0
allowPositionals
이 false
로 설정된 경우 위치 인수가 제공될 때 util.parseArgs()
에 의해 throw됩니다.
ERR_PARSE_ARGS_UNKNOWN_OPTION
추가됨: v18.3.0, v16.17.0
strict
이 true
로 설정된 경우, 인수가 options
에 구성되지 않은 경우 util.parseArgs()
에 의해 throw됩니다.
ERR_PERFORMANCE_INVALID_TIMESTAMP
성능 마크 또는 측정에 잘못된 타임스탬프 값이 제공되었습니다.
ERR_PERFORMANCE_MEASURE_INVALID_OPTIONS
성능 측정에 잘못된 옵션이 제공되었습니다.
ERR_PROTO_ACCESS
--disable-proto=throw
를 사용하여 Object.prototype.__proto__
에 대한 액세스가 금지되었습니다. 객체의 프로토타입을 가져오고 설정하려면 Object.getPrototypeOf
및 Object.setPrototypeOf
를 사용해야 합니다.
ERR_QUIC_APPLICATION_ERROR
추가됨: v23.4.0
[Stable: 1 - Experimental]
Stable: 1 Stability: 1 - Experimental
QUIC 애플리케이션 오류가 발생했습니다.
ERR_QUIC_CONNECTION_FAILED
추가됨: v23.0.0
[Stable: 1 - Experimental]
Stable: 1 Stability: 1 - Experimental
QUIC 연결 설정에 실패했습니다.
ERR_QUIC_ENDPOINT_CLOSED
추가됨: v23.0.0
[Stable: 1 - Experimental]
Stable: 1 Stability: 1 - Experimental
QUIC 엔드포인트가 오류와 함께 닫혔습니다.
ERR_QUIC_OPEN_STREAM_FAILED
추가됨: v23.0.0
[Stable: 1 - Experimental]
Stable: 1 Stability: 1 - Experimental
QUIC 스트림 열기에 실패했습니다.
ERR_QUIC_TRANSPORT_ERROR
추가됨: v23.4.0
[Stable: 1 - Experimental]
Stable: 1 Stability: 1 - Experimental
QUIC 전송 오류가 발생했습니다.
ERR_QUIC_VERSION_NEGOTIATION_ERROR
추가됨: v23.4.0
[Stable: 1 - Experimental]
Stable: 1 Stability: 1 - Experimental
버전 협상이 필요하기 때문에 QUIC 세션이 실패했습니다.
ERR_REQUIRE_ASYNC_MODULE
require()
를 사용하여 ES 모듈을 가져오려고 시도했을 때, 모듈이 비동기적으로 밝혀졌습니다. 즉, 최상위 await를 포함하고 있습니다.
최상위 await가 어디에 있는지 확인하려면 --experimental-print-required-tla
를 사용하십시오(이는 최상위 await를 찾기 전에 모듈을 실행합니다).
ERR_REQUIRE_CYCLE_MODULE
require()
를 사용하여 ES 모듈을 가져오려고 시도했을 때, CommonJS에서 ESM 또는 ESM에서 CommonJS로의 경계가 즉각적인 순환에 참여합니다. ES 모듈은 이미 평가되는 동안 평가될 수 없으므로 이는 허용되지 않습니다.
순환을 피하려면 순환에 관여하는 require()
호출은 ES 모듈(createRequire()
를 통해) 또는 CommonJS 모듈의 최상위 수준에서 발생해서는 안 되며, 내부 함수에서 지연적으로 수행되어야 합니다.
ERR_REQUIRE_ESM
[이력]
버전 | 변경 사항 |
---|---|
v23.0.0 | require() 가 이제 기본적으로 동기 ES 모듈 로딩을 지원합니다. |
ES 모듈을 require()
하려는 시도가 있었습니다.
require()
가 이제 동기 ES 모듈 로딩을 지원하기 때문에 이 오류는 더 이상 사용되지 않습니다. require()
가 최상위 await
를 포함하는 ES 모듈을 만나면 대신 ERR_REQUIRE_ASYNC_MODULE
을 throw합니다.
ERR_SCRIPT_EXECUTION_INTERRUPTED
SIGINT
에 의해 스크립트 실행이 중단되었습니다(예: + 키가 눌러졌습니다).
ERR_SCRIPT_EXECUTION_TIMEOUT
스크립트 실행 시간이 초과되었습니다. 실행 중인 스크립트의 버그 때문일 수 있습니다.
ERR_SERVER_ALREADY_LISTEN
net.Server
가 이미 수신 중인 동안 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
하위 리소스 무결성 검사를 위해 문자열이 제공되었지만 구문 분석할 수 없습니다. 하위 리소스 무결성 사양을 참조하여 무결성 속성의 형식을 확인하십시오.
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
TLSServer
를 생성할 때 TLS 옵션에 ALPNProtocols
와 ALPNCallback
이 모두 포함되어 있으면 이 오류가 발생합니다. 이러한 옵션은 상호 배타적입니다.
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()
메서드에는 하나 이상의 추적 이벤트 범주가 필요합니다.
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
콜백을 null
로 재설정하지 않고 process.setUncaughtExceptionCaptureCallback()
이 두 번 호출되었습니다.
이 오류는 다른 모듈에서 등록된 콜백을 실수로 덮어쓰는 것을 방지하기 위해 설계되었습니다.
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
[Stable: 1 - Experimental]
Stable: 1 Stability: 1 - Experimental
알 수 없거나 지원되지 않는 파일 확장자를 가진 모듈을 로드하려고 시도했습니다.
ERR_UNKNOWN_MODULE_FORMAT
[Stable: 1 - Experimental]
Stable: 1 Stability: 1 - Experimental
알 수 없거나 지원되지 않는 형식의 모듈을 로드하려고 시도했습니다.
ERR_UNKNOWN_SIGNAL
유효한 신호(예: subprocess.kill()
)를 기대하는 API에 잘못되거나 알 수 없는 프로세스 신호가 전달되었습니다.
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
잘못된 모듈 참조자를 확인하려는 시도가 있었습니다. 다음 경우에 발생할 수 있습니다.
- URL 스키마가
file
이 아닌 모듈에서 내장 모듈이 아닌 베어 스페시파이어를 가져오거나import.meta.resolve()
를 호출할 때. - URL 스키마가 특수 스키마가 아닌 모듈에서 상대 URL을 사용할 때.
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
[Stable: 1 - Experimental]
Stable: 1 Stability: 1.1 - 활성 개발 중
대상 스레드가 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
청크 확장에 대해 너무 많은 데이터가 수신되었습니다. 악의적이거나 잘못 구성된 클라이언트로부터 보호하기 위해 16KiB 이상의 데이터가 수신되면 이 코드가 포함된 Error
가 발생합니다.
HPE_HEADER_OVERFLOW
[히스토리]
버전 | 변경 사항 |
---|---|
v11.4.0, v10.15.0 | http_parser 의 최대 헤더 크기가 8 KiB로 설정되었습니다. |
과도한 HTTP 헤더 데이터가 수신되었습니다. 악의적이거나 잘못 구성된 클라이언트로부터 보호하기 위해, maxHeaderSize
를 초과하는 HTTP 헤더 데이터가 수신되면 HTTP 파싱이 중단되고 요청 또는 응답 객체가 생성되지 않으며, 이 코드가 포함된 Error
가 발생합니다.
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()
(/api/modules#requireid) 연산을 시도하거나 프로그램 진입점을 로드할 때 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
hash.digest()
에 UTF-16 인코딩이 사용되었습니다. hash.digest()
메서드는 encoding
인수를 허용하여 Buffer
가 아닌 문자열을 반환하지만 UTF-16 인코딩(예: ucs
또는 utf16le
)은 지원되지 않습니다.
ERR_CRYPTO_SCRYPT_INVALID_PARAMETER
v23.0.0에서 제거됨
crypto.scrypt()
또는 crypto.scryptSync()
에 호환되지 않는 옵션 조합이 전달되었습니다. Node.js의 새 버전은 다른 API와 일관성을 유지하기 위해 ERR_INCOMPATIBLE_OPTION_PAIR
오류 코드를 대신 사용합니다.
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에서 제거됨
import assertion이 실패하여 지정된 모듈을 가져올 수 없습니다.
ERR_IMPORT_ASSERTION_TYPE_MISSING
v17.1.0, v16.14.0에서 추가됨
v21.1.0에서 제거됨
import assertion이 누락되어 지정된 모듈을 가져올 수 없습니다.
ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED
추가됨: v17.1.0, v16.14.0
제거됨: v21.1.0
이 Node.js 버전에서는 import 속성이 지원되지 않습니다.
ERR_INDEX_OUT_OF_RANGE
추가됨: v10.0.0
제거됨: v11.0.0
지정된 인덱스가 허용 범위를 벗어났습니다(예: 음수 오프셋).
ERR_INVALID_OPT_VALUE
추가됨: v8.0.0
제거됨: v15.0.0
옵션 객체에 잘못되거나 예상치 못한 값이 전달되었습니다.
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 이 대신 throw됩니다. |
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
정책 매니페스트 리소스의 필드 값이 잘못되었습니다. 이 오류를 해결하려면 매니페스트 항목을 일치하도록 업데이트하십시오. 자세한 내용은 정책 매니페스트 설명서를 참조하십시오.
ERR_MANIFEST_INVALID_SPECIFIER
제거됨: v22.2.0
정책 매니페스트 리소스의 종속성 매핑 중 하나에 잘못된 값이 있었습니다. 이 오류를 해결하려면 매니페스트 항목을 일치하도록 업데이트하십시오. 자세한 내용은 정책 매니페스트에 대한 설명서를 참조하십시오.
ERR_MANIFEST_PARSE_POLICY
제거됨: v22.2.0
정책 매니페스트를 로드하려고 했지만 매니페스트를 구문 분석할 수 없었습니다. 자세한 내용은 정책 매니페스트에 대한 설명서를 참조하십시오.
ERR_MANIFEST_TDZ
제거됨: v22.2.0
정책 매니페스트에서 읽으려고 했지만 매니페스트 초기화가 아직 이루어지지 않았습니다. 이것은 Node.js의 버그일 가능성이 높습니다.
ERR_MANIFEST_UNKNOWN_ONERROR
제거됨: v22.2.0
정책 매니페스트가 로드되었지만 "onerror" 동작에 대한 알 수 없는 값이 있었습니다. 자세한 내용은 정책 매니페스트에 대한 설명서를 참조하십시오.
ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST
제거됨: v15.0.0
이 오류 코드는 Node.js v15.0.0에서 ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST
로 대체되었습니다. 다른 유형의 전송 가능한 객체도 이제 존재하기 때문입니다.
ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST
[히스토리]
버전 | 변경 사항 |
---|---|
v21.0.0 | DOMException 이 대신 throw됩니다. |
v21.0.0 | 제거됨: v21.0.0 |
v15.0.0 | 추가됨: v15.0.0 |
transferList
인수에 명시적으로 나열되어야 하는 객체가 postMessage()
호출에 전달된 객체에 있지만 해당 호출의 transferList
에 제공되지 않았습니다. 일반적으로 이것은 MessagePort
입니다.
Node.js v15.0.0 이전 버전에서는 여기서 사용되는 오류 코드가 ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST
였습니다. 그러나 전송 가능한 객체 유형 집합이 MessagePort
보다 더 많은 유형을 포함하도록 확장되었습니다.
ERR_NAPI_CONS_PROTOTYPE_OBJECT
추가됨: v9.0.0
제거됨: 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
Buffer.write(string, encoding, offset[, length])
와 같이 지원되지 않는 방식으로 Node.js API가 호출되었습니다.
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()
를 구현하지 않은 읽기 가능 스트림을 사용하려고 할 때 사용됩니다.
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
체인에 인증서가 하나만 포함되어 있고 자체 서명된 인증서가 아니기 때문에 서명을 확인할 수 없습니다.
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
메모리 할당 중 오류가 발생했습니다. 이런 일은 발생해서는 안 됩니다.