@liuhongyi 此问题是由于 sharp 第三方包的安装引起的,sharp 包会去自行拉取一些依赖,因为你使用 npm 安装并且设置了淘宝源,但淘宝源是没有 sharp 需要的依赖 sharp-libvips 的,这个依赖是在 github 上,你可以尝试移除源再安装(可能需要开启梯子)。
如果不想用上述方式处理,或者限于梯子的原因,可以尝试手工处理,首先通过 https://github.com/lovell/sharp-libvips/releases/download/v8.14.5/libvips-8.14.5-darwin-x64.tar.br 手工下载对应的 libvips 的 tar.br 文件(也就是将报错信息中的 https://npm.taobao.org/mirrors/sharp-libvips 改为 https://github.com/lovell/sharp-libvips/releases/download 就是对应的 tar.br 文件下载地址)。然后将文件移动到 npm 的缓存路径下的 _libvips 文件夹中(如果 _libvips 文件夹不存在就自己创建一下),文件名不变,再次安装项目即可。
npm 的缓存路径按 process.env.npm_config_cache,path.join(process.env.APPDATA, 'npm-cache') 或 path.join(os.homedir(), '.npm') 的先后顺序为优先级确定(也就是从前向后尝试,哪行代码输出了可用的路径就以哪个路径作为 npm 的缓存路径,具体参考 https://github.com/lovell/sharp/commit/aabbe1fa08f8c0cb91d375c9fe898decf4b56c7c#diff-f53334bdd409593241ef3e3e02ccdc312cbc404b65c7ee6eedb793936de19988L40-L41 这段代码的逻辑),你可以通过在命令行终端中输入 node 命令进入 node 控制台输出上述代码的结果,要注意的是在输入上述代码前要先输入下列两行代码
const path = require('path')
const os = require('os')