觅小书
78.63MB · 2025-11-22
前言:
请确保已安装git及nvm,或移步
专栏文章前端环境搭建与准备安装git及nvm后再回来
"node": ">=22.16", "pnpm": ">=10.22.0"必须打包成功后才可成功pnpm start运行项目具体步骤如下:
我们可以根据自己喜好git clone下载或者下载zip后解压,两种方式下载后基本都是一样的,我使用的是zip方式会快一点。
你可以直接通过git clone下载:
git clone https://github.com/n8n-io/n8n.git
进入 github.com/n8n-io/n8n 下载zip
把下载好的压缩包(25M左右)解压到n8n-master(73.7M左右)
我们查看项目package.json文件可以看到,对于node和pnpm是需要固定版本及以上的,如下
由于我是使用nvm管理node版本,我是通过cmd管理员身份运行nvm下载node22.16.0
使用nvm依次输入命令行
nvm install 22.16.0
nvm use 22.16.0
nvm ls
关于使用nvm管理node版本不再介绍,请移步查看
专栏文章前端环境搭建与准备---> nvm安装与配置
npm全局安装pnpm 10.22.0
npm install -g pnpm@10.22.0
通过pnpm install进行项目依赖安装(默认国外的下载源需要网络非常好,网络差可能导致依赖下载失败)
pnpm install
如果觉得依赖安装太慢,你可以通过指定下载源(镜像)来安装(可能会存在源库中缺失某些依赖问题)
pnpm install --registry https://registry.npmmirror.com/
依赖下载提示 ELIFECYCLE Command failed with exit code 1.失败后,重新安装依旧提示如图,
(截止目前2025/11/21 node_modules文件夹是1.73M左右,如图所示:)
你可以暂时不用理会ELIFECYCLE Command failed with exit code 1,而后先进行下一步pnpm build打包,如果pnpm build打包出错,再回来请按以下操作:
1.删除存储中未被任何项目使用的包版本
pnpm store prune
2.手动或命令行删除node_modules文件夹:
rm -rf node_modules
必要时删除 pnpm-lock.yaml文件,建议暂时不要删除(有时候pnpm-lock.yaml中的版本与我们下载的版本不匹配,所以一般项目配置当中都忽略提交此文件)
3.重新执行强制安装命令
pnpm install --force
4.如果依赖重复安装失败,缺失部分依赖,只能手动一个个添加(我就是因为这个一直弄了很久),如果重复因为以上问题如:“ELIFECYCLE Command failed with exit code 1.”,且pnpm build打包失败,请执行以上步骤1到4,非必要请勿进行步骤5操作,一般有问题都是因为依赖包安装缺失问题。
5.如果强制安装后提示补丁patchedDependencies相关信息导致安装失败,如下图:
可以先删除package.json文件夹中的patchedDependencies字段内容,
删除补丁如下:
删除后:
在安装后记得恢复该字段内容。如果删除后重新安装依赖到pnpm build打包出现报错 @n8n/imap#build问题,那一定是依赖安装不成功导致的出错,一般到提示patchedDependencies字段的那基本上,我在重复演示此流程经验,就是依赖出错了,即使你在删除patchedDependencies字段内容后安装成功,后续依旧会在pnpm build打包环境出现问题。请你重新开始下载依赖安装,必要时请从github 下载n8n项目这个步骤重新开始。
pnpm build
打包成功如下所示:
必须打包成功后有/dist/config目录文件才可成功pnpm start运行项目
为何需要打包
当使用pnpm start命令运行项目后出现非模块的问题,如果出现 Error: Cannot find module '../dist/config'如下
是因为缺失打包文件(很无语的),
必须打包成功后才可成功pnpm start运行项目
可以先进行打包产生build相关文件,再运行pnpm start
必须打包成功后才可成功pnpm start运行项目
如果遇到如下打包问题,报错 @n8n/imap#build
报错@n8n/extension-sdk#build
报错 @n8n/imap#build或者@n8n/extension-sdk#build都是属于构建过程问题,可以不用理会继续build,比如现在是8个成功,后面可能会慢慢加多,但如果你依旧一直卡在某个数,那么我建议你还是重新安装依赖包(因为我之前试过build阶段报错 @n8n/imap#build,然后我直接重新安装依赖后按流程操作,在build阶段就没遇到这个问题)
必须打包成功后有/dist/config目录文件才可成功pnpm start运行项目
pnpm start
打开运行端口就可以看到页面
(首次进入页面需要进行登录注册)
如果运行项目出现如下问题EntityMetadataNotFoundError: No metadata for "InstalledPackages" was found.,请检查全局安装包或者n8n的默认端口占用情况,我之前全局安装过n8n,然后我删除之后,重新运行pnpm start命令就可以正常启动
如果出现 Error: Cannot find module '../dist/config'如下
请先进行 pnpm build打包成功生成dist文件夹后再进行pnpm start启动项目,
必须打包成功后有/dist/config目录文件才可成功pnpm start运行项目
如果遇到run-script-os:command not found错误,如下图(朋友提供的图我没遇到过),那就是依赖安装不完全,因为完整的依赖包里是有run-script-os这个模块的,建议在当前工作区pnpm install run-script-os单独安装,命令如下
pnpm install run-script-os
以下是我安装的node_modules依赖包里找到的,是有这个模块的,所以我没提示run-script-os:command not found错误,建议在当前工作区pnpm install run-script-os单独安装
"node": ">=22.16", "pnpm": ">=10.22.0"必须打包成功后才可成功pnpm start运行项目个人认为docker部署会更简单,当然,如果你想就是单纯研究n8n源码,那么本篇文章出现的问题可以作为参考,如果你是想把n8n集成到项目中,最好的情况就是vue3作为壳引入n8n,建议是: vue3+n8n+axios(请求)+CORS(跨域)+Pinia或Vuex(数据存储或共享)