You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Next.js应用中安装Strapi时遭遇依赖安装错误

解决Strapi安装时的esbuild版本不匹配与权限问题

问题描述

我是Strapi新手,首次使用该工具,需要在我的Next.js应用中集成其CMS功能。多次使用npx create-strapi-app backend命令安装Strapi,但每次都出现相同错误。已卸载并重装npm、Node.js和esbuild,尝试过不同版本,但问题仍未解决。错误日志如下:

PS G:\Workspace\Chris-Ogbuehis-Monorepo\FiftyFiftyFunding\fiftyfiftyfunding> npx create-strapi-app backend
? Choose your installation type Quickstart
(recommended)
You are running Node.js 19.9.0
Strapi only supports LTS versions of Node.js, other versions may not be compatible.
Creating a quickstart project.
Creating a new Strapi application at G:\Workspace\Chris-Ogbuehis-Monorepo\FiftyFiftyFunding\fiftyfiftyfunding\backend.
Creating files.
Error while installing dependencies:
npm WARN config production Use `--omit=dev` instead.
npm WARN config optional Use `--omit=optional` to exclude optional dependencies, or
npm WARN config `--include=optional` to include them.
npm WARN config
npm WARN config     Default value does install optional deps unless otherwise omitted.
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated mailcomposer@3.12.0: This project is unmaintained
npm WARN deprecated @koa/router@10.1.1: **IMPORTANT 10x+ PERFORMANCE UPGRADE**: Please upgrade to v12.0.1+ as we have fixed an issue with debuglog causing 10x slower router benchmark performance, see https://github.com/koajs/router/pull/173
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated   
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated formidable@1.2.6: Please upgrade to latest, formidable@v2 or formidable@v3!
npm WARN deprecated buildmail@3.10.0: This project is unmaintained
npm WARN cleanup Failed to remove some directories [  
npm WARN cleanup   [
npm WARN cleanup     'G:\\Workspace\\Chris-Ogbuehis-Monorepo\\FiftyFiftyFunding\\fiftyfiftyfunding\\backend\\node_modules\\@strapi',
npm WARN cleanup     [Error: EPERM: operation not permitted, rmdir 'G:\Workspace\Chris-Ogbuehis-Monorepo\FiftyFiftyFunding\fiftyfiftyfunding\backend\node_modules\@strapi\admin\ee\admin\pages\SettingsPage'] {
npm WARN cleanup       errno: -4048,
npm WARN cleanup       code: 'EPERM',
npm WARN cleanup       syscall: 'rmdir',
npm WARN cleanup       path: 'G:\\Workspace\\Chris-Ogbuehis-Monorepo\\FiftyFiftyFunding\\fiftyfiftyfunding\\backend\\node_modules\\@strapi\\admin\\ee\\admin\\pages\\SettingsPage'
npm WARN cleanup     }
npm WARN cleanup   ]
npm WARN cleanup ]
npm ERR! code 1
npm ERR! path G:\Workspace\Chris-Ogbuehis-Monorepo\FiftyFiftyFunding\fiftyfiftyfunding\backend\node_modules\esbuild-loader\node_modules\esbuild
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node install.js
npm ERR! G:\Workspace\Chris-Ogbuehis-Monorepo\FiftyFiftyFunding\fiftyfiftyfunding\backend\node_modules\esbuild-loader\node_modules\esbuild\install.js:130
npm ERR!     throw new Error(`Expected ${JSON.stringify("0.16.17")} but got ${JSON.stringify(stdout)}`);    
npm ERR!           ^
npm ERR!
npm ERR! Error: Expected "0.16.17" but got "0.19.2"   
npm ERR!     at validateBinaryVersion (G:\Workspace\Chris-Ogbuehis-Monorepo\FiftyFiftyFunding\fiftyfiftyfunding\backend\node_modules\esbuild-loader\node_modules\esbuild\install.js:130:11)
npm ERR!     at G:\Workspace\Chris-Ogbuehis-Monorepo\FiftyFiftyFunding\fiftyfiftyfunding\backend\node_modules\esbuild-loader\node_modules\esbuild\install.js:281:5
npm ERR!
npm ERR! Node.js v19.9.0

npm ERR! A complete log of this run can be found in: C:\Users\Jojo\AppData\Local\npm-cache\_logs\2023-10-31T18_46_16_957Z-debug-0.log
TypeError: Cannot read properties of undefined (reading 'addBreadcrumb')
    at C:\Users\Jojo\AppData\Local\npm-cache\_npx\f5b733dbc92df62b\node_modules\@strapi\generate-new\dist\utils\usage.js:36:31
    at Array.forEach (<anonymous>)
    at Module.captureStderr (C:\Users\Jojo\AppData\Local\npm-cache\_npx\f5b733dbc92df62b\node_modules\@strapi\generate-new\dist\utils\usage.js:35:37)
    at createProject (C:\Users\Jojo\AppData\Local\npm-cache\_npx\f5b733dbc92df62b\node_modules\@strapi\generate-new\dist\create-project.js:133:17)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async createQuickStartProject (C:\Users\Jojo\AppData\Local\npm-cache\_npx\f5b733dbc92df62b\node_modules\@strapi\generate-new\dist\create-quickstart-project.js:18:3)
PS G:\Workspace\Chris-Ogbuehis-Monorepo\FiftyFiftyFunding\fiftyfiftyfunding>

解决方案

  • 切换Node.js LTS版本
    当前使用的Node.js 19.9.0是非LTS版本,Strapi官方仅支持LTS版本,建议切换到18.x或20.x系列的LTS版本:

    1. 用nvm安装对应版本:nvm install 18.18.0
    2. 切换到该版本:nvm use 18.18.0
    3. 验证版本:node -v
  • 清理缓存与残留文件
    权限错误和版本冲突大概率是缓存或残留文件导致的:

    1. 删除已创建的backend文件夹:Windows执行rmdir /s backend,Mac/Linux执行rm -r backend
    2. 强制清理npm缓存:npm cache clean --force
    3. 删除npx缓存目录中相关文件:手动删除C:\Users\Jojo\AppData\Local\npm-cache\_npx下的临时文件夹
  • 指定Strapi版本并跳过可选依赖
    尝试用稳定版Strapi安装,同时跳过可选依赖避免权限问题:

    npx create-strapi-app@latest backend --quickstart --omit=optional
    
  • 匹配esbuild版本
    错误核心是esbuild-loader依赖的esbuild版本(0.16.17)与全局安装的0.19.2不兼容,全局安装指定版本:

    npm install -g esbuild@0.16.17
    

    安装完成后重新执行Strapi安装命令。

内容的提问来源于stack exchange,提问作者Jojo Amankwa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 05:34:51