n8n-node 도구 사용
n8n-node 도구는 n8n용 커뮤니티 node를 개발하기 위한 공식 CLI입니다. n8n-node를 사용하면 검증된 커뮤니티 node 가이드라인을 준수하는 node를 만들 수 있습니다. 패키지 매니저와 함께 @n8n/create-node 이니셜라이저를 사용하여 설치 없이 n8n-node 프로젝트를 직접 만들 수 있습니다:
n8n-node 도구는 n8n용 커뮤니티 node를 개발하기 위한 공식 CLI입니다. 새 node를 스캐폴딩하고, 프로젝트를 빌드하며, 개발 중에 node를 실행하는 데 사용할 수 있습니다.
n8n-node를 사용하면 검증된 커뮤니티 node 가이드라인을 준수하는 node를 만들 수 있습니다.
n8n-node 가져오기#
설치 없이 n8n-node 실행#
패키지 매니저와 함께 @n8n/create-node 이니셜라이저를 사용하여 설치 없이 n8n-node 프로젝트를 직접 만들 수 있습니다:
npm create @n8n/node@latest
이것은 로컬에서 초기 프로젝트 파일을 설정합니다(n8n-node를 로컬에 설치하고 new 명령어를 명시적으로 실행하는 것의 대안). 그 후에 프로젝트 디렉터리 내에서 패키지 매니저의 스크립트 실행기를 통해 나머지 n8n-node 명령어를 실행합니다(예: npm run dev).
n8n-node를 전역으로 설치#
npm으로 n8n-node를 전역으로 설치할 수 있습니다:
npm install --global @n8n/node-cli
다음을 입력하여 명령어에 대한 접근을 확인합니다:
n8n-node --version
명령어 개요#
n8n-node 도구는 다음 명령어를 제공합니다:
new#
new 명령어는 새 node를 위한 파일 시스템 구조 및 메타데이터를 생성합니다. 이 명령어는 설치 없이 n8n-node 실행에 설명된 것과 동일한 구조를 초기화합니다.
호출 시 프로젝트에 대한 세부 정보를 대화형으로 묻고 시작 코드를 커스터마이즈합니다. 프로젝트 이름을 제공하고 node 유형을 선택하며 필요에 가장 적합한 시작 템플릿을 선택합니다. n8n-node 도구가 프로젝트 파일 구조를 생성하고 선택적으로 초기 프로젝트 의존성을 설치합니다.
새 node 생성 섹션에서 new 명령어 사용 방법에 대해 자세히 알아보세요.
build#
build 명령어는 node를 컴파일하고 필요한 모든 에셋을 복사합니다.
node 빌드 섹션에서 build 명령어 사용 방법에 대해 자세히 알아보세요.
dev#
dev 명령어는 node와 함께 n8n을 실행합니다. 프로젝트 디렉터리를 모니터링하고 변경 사항이 감지되면 라이브 미리보기를 자동으로 재빌드합니다.
n8n에서 node 테스트 섹션에서 dev 명령어 사용 방법에 대해 자세히 알아보세요.
lint#
lint 명령어는 현재 디렉터리의 node 코드를 확인합니다. 선택적으로 --fix 옵션과 함께 사용하여 식별된 문제를 자동으로 수정할 수 있습니다.
node 린트 섹션에서 lint 명령어 사용 방법에 대해 자세히 알아보세요.
release#
release 명령어는 커뮤니티 node 패키지를 npm에 게시합니다. release-it을 사용하여 npm에 게시하기 전에 패키지를 정리, 확인 및 클린 빌드합니다.
node 릴리스 섹션에서 release 명령어 사용 방법에 대해 자세히 알아보세요.
새 node 생성#
n8n-node로 새 node를 생성하려면 n8n-node new를 호출합니다. 이 명령어는 완전히 대화형으로 호출하거나 명령줄에서 세부 정보를 제공할 수 있습니다.
선택적으로 패키지 매니저와 함께 @n8n/create-node 이니셜라이저를 사용하여 n8n-node를 설치하지 않고 n8n-node 프로젝트를 직접 만들 수 있습니다.
아래 명령어에서 n8n-node new를 npm create @n8n/node@latest로 대체합니다. 이 형식을 사용할 때는 옵션(예: --template) 앞에 이중 대시(--)를 추가해야 합니다. 예:
npm create @n8n/node@latest n8n-nodes-mynode -- --template declarative/custom
명령어는 node에 대한 누락된 정보를 묻고 시작 코드 구조를 생성합니다. 기본적으로 초기 프로젝트 의존성도 설치합니다(--skip-install 플래그를 전달하여 이를 비활성화할 수 있습니다).
대화형으로 node 세부 정보 설정#
인수 없이 호출하면 n8n-node new가 대화형으로 새 node에 대한 세부 정보를 묻습니다:
n8n-node new
이것은 프로젝트 세부 정보를 정의할 수 있는 대화형 프롬프트를 시작합니다:
- node의 이름은 무엇입니까? node의 이름. 이것은 프로젝트 디렉터리 이름, 패키지 이름, n8n node 자체에 영향을 미칩니다. 이름은 다음 형식 중 하나를 사용해야 합니다:
n8n-nodes-@/n8n-nodes-
- 어떤 종류의 node를 빌드하시겠습니까? 빌드하려는 node 유형:
- HTTP API: n8n 클라우드의 더 빠른 승인을 위해 설계된 로우 코드, 선언형 node 구조.
- 기타: 완전한 유연성을 가진 프로그래매틱 스타일 node.
- 어떤 템플릿을 사용하시겠습니까? HTTP API를 사용할 때 시작할 템플릿을 선택할 수 있습니다:
- GitHub Issues API: 여러 작업과 자격 증명을 포함하는 데모 node. node 구조와 규칙에 익숙해지는 데 도움이 됩니다.
- 처음부터 시작: 추가 프롬프트로 커스텀 설정을 안내하는 빈 템플릿.
HTTP API > 처음부터 시작을 선택하면 n8n-node가 다음을 묻습니다:
- API의 기본 URL은 무엇입니까? 통합할 API의 루트 URL.
- API가 사용하는 인증 유형은 무엇입니까? node가 제공해야 하는 인증:
- API Key: 헤더, 쿼리 파라미터 또는 요청 바디를 사용하여 비밀 키를 전송합니다.
- Bearer Token: Authorization 헤더(
Authorization: Bearer <token>)를 사용하여 토큰을 전송합니다. - OAuth2: OAuth 2.0 플로우를 사용하여 사용자 또는 앱을 대신하여 액세스 토큰을 가져옵니다.
- Basic Auth: Authorization 헤더를 통해 base64 인코딩된 사용자 이름과 비밀번호를 전송합니다.
- 커스텀: 자신만의 자격 증명 로직을 만듭니다. 이것은 필요에 따라 커스터마이즈할 수 있는 빈 자격 증명 클래스를 생성합니다.
- 없음: 인증이 필요하지 않습니다. node에 대한 자격 증명 클래스를 만들지 않습니다.
선택을 마치면 n8n-node가 현재 디렉터리에 node에 대한 새 프로젝트 디렉터리를 생성합니다. 기본적으로 초기 프로젝트 의존성도 설치합니다(--skip-install 플래그를 전달하여 이를 비활성화할 수 있습니다).
명령줄에서 node 세부 정보 제공#
프롬프트를 피하기 위해 명령줄에서 일부 node 세부 정보를 제공할 수 있습니다.
node에 사용할 이름을 인수로 포함할 수 있습니다:
n8n-node new n8n-nodes-myproject
node 이름은 다음 형식 중 하나를 사용해야 합니다:
@/n8n-nodes-n8n-nodes-
미리 사용할 템플릿을 알고 있다면 --template 플래그를 사용하여 값을 전달할 수도 있습니다:
n8n-node new --template declarative/custom
템플릿은 다음 중 하나여야 합니다:
declarative/github-issues: 여러 작업과 자격 증명을 포함하는 데모 node. node 구조와 규칙에 익숙해지는 데 도움이 됩니다.declarative/custom: 추가 프롬프트로 커스텀 설정을 안내하는 빈 템플릿.programmatic/example: 완전한 유연성을 가진 프로그래매틱 스타일 node.
node 빌드하기#
프로젝트 루트 디렉터리에서 build 명령어를 실행하여 node를 빌드할 수 있습니다:
n8n-node build
n8n-node가 TypeScript 파일을 컴파일하고 다른 프로젝트 에셋을 번들링합니다. 패키지 매니저에서 build 스크립트를 호출할 수도 있습니다. 예를 들어, npm을 사용하는 경우 동일하게 작동합니다:
npm run build
node 린트#
n8n-node 도구는 프로젝트를 위해 lint 스크립트도 자동으로 생성합니다. 패키지 매니저로 실행할 수 있습니다. 예:
n8n-node lint
패키지 매니저의 스크립트 실행기를 통해서도 실행할 수 있습니다:
npm run lint
--fix 옵션을 포함하면(npm run lint:fix로도 호출 가능) n8n-node가 식별된 문제를 수정하려고 시도합니다:
n8n-node lint --fix
n8n에서 node 테스트#
node를 n8n에서 테스트하려면 프로젝트 루트 디렉터리에서 dev 명령어를 실행합니다:
n8n-node dev
build 명령어와 마찬가지로 패키지 매니저를 통해서도 실행할 수 있습니다. 예:
npm run dev
n8n-node가 프로젝트를 컴파일한 다음 node가 로드된 npm을 통해 로컬 n8n 인스턴스를 시작합니다.
localhost:5678을 방문하여 n8n 인스턴스에 로그인합니다. 워크플로를 열면 nodes 패널에서 node가 표시됩니다:

거기서 워크플로에 추가하고 개발하면서 node 기능을 테스트할 수 있습니다.
node 릴리스#
node를 게시하려면 프로젝트 디렉터리에서 release 명령어를 실행합니다. 이 명령어는 release-it을 사용하여 node를 빌드하고 게시합니다.
release 명령어를 사용하려면 npm login 명령어를 사용하여 npm에 로그인해야 합니다. 이 없이는 n8n-node가 프로젝트 파일을 게시할 권한이 없습니다.
n8n-node release
npm으로 실행하려면 다음을 입력합니다:
npm run release
release 명령어를 실행하면 n8n-node가 다음 작업을 수행합니다:
- node 빌드
- 파일에 대한 린트 검사 실행
- 변경 로그 업데이트
- git 태그 생성
- GitHub 릴리스 생성
- npm에 패키지 게시
