Skip to content

10 【Windows 环境终极教程】安装 n8n:从 pnpm 的“坑”到 npm 的“稳”

本教程将指导你在 Windows 10/11 环境下,使用 nvm 管理 Node.js 版本,并配置淘宝镜像来安装 n8n。

我们将详细分析使用 pnpm 安装时必定会遇到的 sqlite3 数据库错误(这也是我们之前反复遇到的问题),并提供两种解决方案,帮助你100%安装成功。

目录

  • 第一部分:基础环境准备 (nvm 和 Node.js LTS)

  • 第二部分:【路线一】pnpm 挑战路径 (解决核心陷阱)

  • 第三部分:【路线二】npm 稳定路径 (简单且推荐)

  • 第四部分:终极疑难解答 (FAQ)


第一部分:基础环境准备 (nvm 和 Node.js LTS)

无论你选择哪条路线,这一步都是必须且最重要的。90% 的问题都出在这里。

步骤一:卸载所有旧的 Node.js (防止冲突)

如果你之前通过 .msi 安装包安装过 Node.js,请务必先卸载它。

  1. 打开 "控制面板" -> "程序和功能"。

  2. 找到 "Node.js",右键点击并卸载。

  3. 同样,如果列表里有 "NVM for Windows",也请先卸载。

步骤二:安装 nvm-windows (Node.js 版本管理器)

  1. 访问 nvm-windows 的 GitHub 发布页面:

    https://github.com/coreybutler/nvm-windows/releases

  2. 在最新版本的 "Assets" 部分,下载 nvm-setup.exe

  3. 运行 nvm-setup.exe全程使用默认路径一路 "Next" 完成安装。

步骤三:【关键】激活 nvm 并安装 Node.js LTS

  1. 关闭所有已打开的终端窗口。

  2. 点击 "开始" 菜单,输入 PowerShell

  3. 在 "Windows PowerShell" 上右键,选择 “以管理员身份运行”。

    (注意:必须是管理员 PowerShell,不能是 CMD!)

  4. 验证 nvm 安装成功:

    PowerShell

    nvm version
    # 如果显示版本号 (如 1.1.12),说明 nvm 已安装成功。
  5. 安装 Node.js 20 (n8n 推荐的 LTS 版本):

    PowerShell

    nvm install 20
    # 它可能会安装一个版本,比如 20.12.2 或 20.19.5
  6. 激活你刚安装的版本:

    PowerShell

    nvm use 20.19.5 
    # (这里替换成你上一步安装的具体版本号)
  7. 验证 Node.js 已激活:

    PowerShell

    node -v
    # 应该显示 v20.19.5 (或你安装的版本)

至此,你的基础环境已经完美了。


第二部分:【路线一】pnpm 挑战路径 (解决核心陷阱)

这条路径会使用 pnpm,但你需要提前配置来绕过 pnpm v10+ 的安全限制,否则会 100% 失败。

步骤一:安装 pnpm

在你的管理员 PowerShell 窗口中:

PowerShell

npm install -g pnpm

(注意:npm 是 Node.js 自带的,所以这条命令现在可以直接用)

步骤二:【核心】配置 pnpm (解决所有问题)

pnpm v10+ 为了安全,默认禁止包运行安装脚本 (ignore-scripts = true)。而 sqlite3 (n8n 的数据库) 必须运行脚本来下载它编译好的二进制文件。这就是我们之前所有失败的根源。

我们需要在安装之前,手动修改 pnpm 的配置:

在你的管理员 PowerShell 窗口中,依次执行以下所有命令:

PowerShell

# 1. 设置淘宝NPM源
pnpm config set -g registry https://registry.npmmirror.com/

# 2. 设置 sqlite3 专用镜像源 (非常重要)
pnpm config set -g sqlite3_binary_site https://npmmirror.com/mirrors/sqlite3

# 3. (最关键) 关闭“全局忽略脚本”的安全开关
pnpm config set -g ignore-scripts false

# 4. (保险) 明确“批准” sqlite3 运行脚本
pnpm config set -g allow-build sqlite3

步骤三:安装 n8n

现在 pnpm 的配置是正确的,我们可以开始安装了。

PowerShell

# (可选) 清理一下,防止有旧的坏包
pnpm remove -g n8n
pnpm store prune

# 正式安装
pnpm add -g n8n

步骤四:检查日志并启动

在安装日志中,你不应该再看到那个黄色的 Ignored build scripts: ... sqlite3 警告框。

安装完成后,运行:

PowerShell

n8n

如果一切顺利,它会成功启动。如果仍然失败,请不要沮丧,直接跳到路线二。


第三部分:【路线二】npm 稳定路径 (简单且推荐)

这是最简单、最稳定的路径,它绕过了 pnpm 所有的复杂安全特性。npm 默认会正确运行 sqlite3 的脚本。

步骤一:确认 Node.js v20 环境

(确保你已完成第一部分)

PowerShell

node -v
# 应该显示 v20.x.x

步骤二:为 npm 配置镜像

(注意:npmpnpm 的配置不互通,你需要为 npm 单独设置)

在你的管理员 PowerShell 窗口中,执行:

PowerShell

# 1. 设置淘宝NPM源
npm config set registry https://registry.npmmirror.com/

# 2. 设置 sqlite3 专用镜像源
npm config set sqlite3_binary_site https://npmmirror.com/mirrors/sqlite3

步骤三:使用 npm 安装 n8n

PowerShell

# (可选) 如果你之前用 pnpm 装过,先用 pnpm 卸载
pnpm remove -g n8n

# 使用 npm 全局安装
npm install -g n8n

步骤四:启动 n8n

安装完成后,npm 的日志不会有任何 pnpm 的黄色警告框。

此时,直接运行:

PowerShell

n8n

n8n 将成功启动,并显示 Editor is now available on: http://localhost:5678


第四部分:终极疑难解答 (FAQ)

Q1: 我输入 nvm 或 pnpm,提示 不是内部或外部命令 或 无法将“nvm”项识别为 cmdlet?

A: 你打开了错误的终端。你必须使用 “以管理员身份运行” 的 “Windows PowerShell” (蓝色图标),而不是 CMD (黑色图标)。

Q2: 我启动 n8n 提示 SQLite package has not been found installed?

A: 这 100% 是因为 sqlite3 二进制文件没有安装成功。

  • 如果你使用 pnpm:说明你没有正确配置 pnpm。请严格执行第二部分中的步骤二(尤其是 pnpm config set -g ignore-scripts false),然后卸载 n8n 并重装

  • 如果你使用 npm:说明你没有配置 sqlite3_binary_site。请执行第三部分中的步骤二,然后卸载 n8n 并重装 (npm uninstall -g n8n -> npm install -g n8n)。

Q3: 我在 pnpm 安装日志中看到 WARN sqlite3 has no binaries?

A: 这是因为你的 Node.js 版本不对。sqlite3 只为 LTS 版本 (如 v18, v20) 提供预编译包。你很可能在使用一个非 LTS 版本 (如 v21, v22)。请严格按照第一部分的步骤,使用 nvm install 20 和 nvm use 20.x.x 来切换到正确版本。

Q4: 我在 pnpm 安装日志中看到 Ignored build scripts: ... sqlite3 的黄色警告框?

A: 这就是 pnpm v10+ 的安全限制在作祟。你的 ignore-scripts 设置不正确。请立即停止,返回第二部分的步骤二,执行那四条 pnpm config set 命令,然后再重装。

Q5: 安装日志中有很多黄色的 WARN Issues with peer dependencies found?

A: 正常现象,可以安全忽略。这是 n8n 内部依赖包之间的版本不完全匹配,n8n 开发者会处理这些,不影响你使用。

基于 MIT 许可发布