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

使用NVM切换Node.js v18后Strapi无法加载sharp模块求助

修复Strapi在NVM管理的Node.js 18下sharp模块加载失败问题

核心原因

sharp是原生C++模块,编译产物与当前Node.js版本、系统架构强绑定。通过NVM切换Node版本后,旧依赖的编译产物无法适配新Node环境,导致加载失败。

分步解决步骤

1. 彻底清理旧依赖与缓存

删除项目内的旧依赖、锁文件以及sharp的全局缓存,避免残留冲突:

# 删除项目依赖目录
rm -rf node_modules

# 删除npm锁文件(若用yarn/pnpm则对应删除yarn.lock/pnpm-lock.yaml)
rm package-lock.json

# 清理sharp的全局缓存
rm -rf ~/.npm/_npx/*sharp*

2. 确认当前Node版本激活状态

重新切换并验证Node版本,确保NVM的环境切换完全生效:

# 切换到目标Node版本
nvm use 18.17.0

# 验证版本是否正确
node -v
# 预期输出:v18.17.0

3. 重新安装依赖并强制编译sharp

重新安装依赖时,强制sharp针对当前Node版本重新编译:

# 常规安装依赖
npm install

# 若常规安装无效,单独重新编译sharp
npm install sharp --force --build-from-source

4. 验证Strapi启动

尝试启动Strapi开发模式:

npm run develop

额外排查点

  • Windows用户需确保安装了Visual Studio Build Tools(勾选"C++开发工具"组件),原生模块编译依赖该工具链。
  • 确认系统架构与NVM的Node版本一致(你的环境已显示为64位,此条可忽略)。

内容的提问来源于stack exchange,提问作者Alexandre Paiva

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 18:52:57