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

CentOS7+Cpanel环境安装Strapi遇sharp证书错误求助

CentOS7+Cpanel共享主机安装Strapi时sharp依赖安装失败的解决建议

问题描述

在CentOS 7+Cpanel的共享主机上,通过"set up node.js app"创建Node应用后,上传不含node_modules的Strapi文件,执行npm install时遇到sharp: Installation error: unable to get local issuer certificate错误。已尝试主机支持推荐的以下步骤,但均无效:

  • npm config set registry http://registry.npmjs.org/
  • npm config set strict-ssl false
  • npm install -g npm@latest
  • npm cache clear --force
  • 重新执行npm install
    同时尝试过用Yarn安装,依然失败。完整错误日志如下:

npm ERR! code 1
npm ERR! path /home/uniwebs/nodevenv/strapi/18/lib/node_modules/sharp
npm ERR! command failed
npm ERR! command sh -c (node install/libvips && node install/dll-copy && prebuild-install) || (node install/can-compile && node-gyp rebuild && node install/dll-copy)
npm ERR! sharp: 正在下载https://github.com/lovell/sharp-libvips/releases/download/v8.14.2/libvips-8.14.2-linux-x64.tar.br
npm ERR! sharp: 请查看https://sharp.pixelplumbing.com/install获取所需依赖
npm ERR! sharp: Installation error: unable to get local issuer certificate
npm ERR! 本次运行的完整日志可在以下路径查看:/home/uniwebs/.npm/_logs/2023-08-14T15_12_35_537Z-debug-0.log

可行解决建议

1. 手动指定CA证书路径

CentOS 7默认系统CA证书通常存放在/etc/pki/tls/certs/ca-bundle.crt,通过npm配置指定该路径,解决证书信任问题:

npm config set cafile /etc/pki/tls/certs/ca-bundle.crt

执行完成后重新运行npm install。

2. 强制sharp本地编译,跳过预编译包下载

设置环境变量让sharp跳过远程预编译包下载,直接在主机本地编译libvips:

export SHARP_IGNORE_GLOBAL_LIBVIPS=1
npm install

或者直接通过安装参数指定:

npm install --ignore-scripts=false --sharp_binary_host="" --sharp_libvips_binary_host=""

注意:本地编译需要主机安装gcc、make、glib2-devel等编译依赖,若共享主机未提供,需联系主机商开启相关编译权限或安装依赖。

3. 手动下载libvips预编译包并指定本地路径

  • 用wget跳过证书检查下载对应版本的预编译包:
wget --no-check-certificate https://github.com/lovell/sharp-libvips/releases/download/v8.14.2/libvips-8.14.2-linux-x64.tar.br
  • 设置环境变量指定本地包的存放路径,再执行安装:
export SHARP_DIST_BASE_URL=file:///home/uniwebs/your-download-folder/
npm install

替换/home/uniwebs/your-download-folder/为你存放下载包的实际路径。

4. 降级sharp版本

当前Strapi依赖的sharp版本可能与共享主机环境兼容性较差,尝试在package.json中指定更低版本的sharp,例如:

"sharp": "^0.32.6"

删除package-lock.json或yarn.lock文件后,重新执行npm install。

内容的提问来源于stack exchange,提问作者Kronen Tre

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 14:16:27