How to install custom node when using n8n open source?

Describe the problem/error/question

i want to install my custom node to n8n open source.
i know how to use custom node at docker or npm n8n installed.
and i know how to add my custom node at n8n/packages/nodes-base/‘n8n-nodes-test’ and it works fine.

i want to mange my custom node outside of n8n/packages/nodes-base.
so don’t need to build n8n all open source every time.

like below

thanks.

what i did.

  1. git clone GitHub - n8n-io/n8n: Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
  2. build n8n open source with pnpm
  3. test n8n(web, workflow etc…) is working good
  4. i have custom node working well.
  5. i copied my custom node, at packags folder of n8n open source
  6. custom node build good, dist folder good.

root@n8ndev:/home/tony/n8n# tree -L 1
.
|-- CHANGELOG.md
|-- CODE_OF_CONDUCT.md
|-- CONTRIBUTING.md
|-- CONTRIBUTOR_LICENSE_AGREEMENT.md
|-- LICENSE.md
|-- LICENSE_EE.md
|-- README.md
|-- SECURITY.md
|-- assets
|-- biome.jsonc
|-- codecov.yml
|-- cypress
|-- docker
|-- jest.config.js
|-- lefthook.yml
|-- node_modules
|-- package.json // here
|-- packages
|-- patches
|-- pnpm-lock.yaml
|-- pnpm-workspace.yaml
|-- scripts
|-- tsconfig.json
|-- turbo.json
`-- vitest.workspace.ts

root@n8ndev:/home/tony/n8n/packages# tree -L 1
.
|-- @n8n
|-- a.txt
|-- cli
|-- core
|-- frontend
|-- n8n-nodes-test //here
|-- node-dev
|-- nodes-base
`-- workflow

  1. when start n8n/packages/cli/bin/n8n → i can not see my custom nodes
  2. now. what shoud i do?
    a. i made index.ts at src folder where test.ts exist → doesn’t work
    b. export N8N_CUSTOM_NODES=“/home/tony/n8n/packages/n8n-nodes-test” → using env value is not working
    c. build n8n open source all → doesn’t work

How can my custom node be included in n8n open source builded package?
how can i see my custom node when n8n started?
is there any dev guide about this?

What is the error message (if any)?

Please share your workflow

(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)

Share the output returned by the last node

Information on your n8n setup

  • n8n version: latest
  • Database (default: SQLite): default
  • n8n EXECUTIONS_PROCESS setting (default: own, main): default
  • Running n8n via (Docker, npm, n8n cloud, desktop app): n8n open source build & run
  • Operating system: Linux

hello @taaho_ahn

Usually you don’t need to clone the n8n itself, rather you need to clone a starter-kit and build your custom node there.
After buildng you will publish the n8n package to the npm repository and then you will be able to install the community node via Settings >> Install Community Node (only on self-hosted instances)

Thank you for your response.
I am already familiar with the methods you mentioned and am using them effectively.
I have already developed my custom nodes (credentials, nodes) and am using them through npmjs.com or directly via npm link.
I am currently setting up an environment to debug the n8n open source framework and understand its core. Therefore, I am planning to build the open source project directly and develop it further.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.