strapi项目 yarn 报错:/node_modules/sharp: Command failed.

部署了strapi的服务器内存满了,优化清空的时候删了些东西,最后发现,竟导致整个Strapi项目构建失败,最后发现是因为删除了/root/.npm导致的。

问题现场:删除.npm后的灾难性报错

当在服务器上执行完rm -rf ~/.npm以清理磁盘空间,过了几天Strapi项目修改需要重启的时候,在项目中运行yarn install,终端突然抛出一连串红色错误:

bash

复制

下载

less 复制代码
"@strapi/strapi > @strapi/admin > use-context-selector@1.4.1" has unmet peer dependency "scheduler@>=0.19.0".
warning " > strapi-plugin-transformer@3.1.2" has unmet peer dependency "lodash@^4.17.21".
warning " > strapi-plugin-transformer@3.1.2" has unmet peer dependency "yup@^0.32.9".
warning " > styled-components@5.3.3" has unmet peer dependency "react-is@>= 16.8.0".
warning "styled-components > babel-plugin-styled-components > @babel/plugin-syntax-jsx@7.27.1" has unmet peer dependency "@babel/core@^7.0.0-0".
[5/5] Building fresh packages...
[6/10] ⠁ sharp
[10/10] ⠁ sqlite3
[8/10] ⠁ better-sqlite3
[9/10] ⠁ sharp
error /home/service/cms/web_tsinghua_cms/node_modules/@strapi/plugin-upload/node_modules/sharp: Command failed.
Exit code: 1
Command: (node install/libvips && node install/dll-copy && prebuild-install) || (node install/can-compile && node-gyp rebuild && node install/dll-copy)
Arguments: 
Directory: /home/service/cms/web_tsinghua_cms/node_modules/@strapi/plugin-upload/node_modules/sharp
Output:
...

尽管网络通畅,sharp模块安装依然失败,导致整个Strapi项目无法启动。更令人困惑的是,同一命令在其它服务器却执行正常。


一、解剖问题:为什么删除.npm会引发sharp安装失败?

1. npm缓存的核心作用

~/.npm目录是npm的全局缓存仓库,存储着:

  • 下载过的所有包(_cacache目录)
  • 预编译的二进制模块(如sharp的本地编译版本)
  • 包元数据及签名信息8

当执行npm installyarn install时,系统优先检查缓存,若存在匹配版本则直接使用缓存包,避免重复下载和编译6。

2. Sharp模块的特殊性

Sharp是一个高性能图像处理库:

  1. 依赖预编译的C++库(libvips)
  2. 安装时会下载平台特定的二进制文件(Linux/macOS/Windows)
  3. 若缓存不存在,自动触发本地编译(需Python/C++编译环境)1

二、终极修复方案

直接从另一个服务器拷贝了一份具有相同环境的 /root/.npm,并且把服务的gcc、g++、glibc都重新升级以后好了。

相关推荐
之歆3 小时前
前端存储方案对比:Cookie-Session-LocalStorage-IndexedDB
前端
哟哟耶耶3 小时前
vue3-单文件组件css功能(:deep,:slotted,:global,useCssModule,v-bind)
前端·javascript·css
是罐装可乐3 小时前
深入理解“句柄(Handle)“:从浏览器安全到文件系统访问
前端·javascript·安全
华科易迅3 小时前
Vue如何集成封装Axios
前端·javascript·vue.js
康一夏3 小时前
Next.js 13变化有多大?
前端·react·nextjs
糖炒栗子03263 小时前
前端项目标准环境搭建与启动
前端
不是az3 小时前
CSS知识点记录
前端·javascript·css
爱分享的阿Q3 小时前
GPT6-Spud-AGI前夜的豪赌
前端·easyui·agi
西西小飞龙4 小时前
Less/Sass Mixins vs. Extend
前端·less·sass
syjy24 小时前
(含下载)BeTheme WordPress主题使用教程
前端·wordpress·wordpress建站