npm中使用图像处理模块sharp(0.22.1)遇到的安装问题 - ic翼

769 阅读2分钟
原文链接: bingyishow.top

前言:安装此模块时,sharp会莫名其妙的卡主不动。排除镜像的问题(已经尝试更换了淘宝、cnpm都不行)。

问题详细

使用centos系统安装sharp时会卡在如下位置不动。

> sharp@0.22.1 install /home/nodebb_modules/sharp

> (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)



问题原因

网络问题。无法从github下载依赖包到本地。


解决办法

注意:因为后面排查问题时将系统更换为ubuntu。所以如下文件目录位置不一定适用于centos!

将文件下载到本地,然后根据图示信息保存在/root/.npm/_libvips/****.tar.gz中即可。

如果你无法下载可以使用我下载好的文件(注意版本:libvips-8.7.4-linux-x64.tar.gz)


问题背景

因为想要尝试使用nodebb,后来整体安装部署完毕。发现上传图片会502。捂头。然后就开始了漫长的各种排错。从程序、nginx再到服务器。最后将问题定位在nodebb安装的时候丢了依赖。。。 就是这个(sharp图像处理模块)我傻了。

然后想要安装一下sharp,但在安装的过程中会莫名奇妙的卡主不动。emmmmmm,情况如下图所示。

1

单独执行npm install sharp后,情况也是一样的。于是想是不是网络的问题。但是现在已经使用淘宝的镜像了。于是更换为cnpm的镜像。问题依旧。

然后决定弃用npm改用yarn。先改镜像,然后安装。就一直处于waiting状态。。。

后来想会不会是环境没有安装好。根据上图提示的内容查阅了一堆资料。尝试安装了一些环境并没有成功,包括更改nodejs、npm版本。到此怀疑是不是系统版本不兼容。

我的是centos 7.6最新版的。会不会是这个原因。

于是决定更换服务器的系统为ubuntu 18,不使用centos了。重新配置环境。再次执行时还是会卡主但是多了一些信息。如下图所示

2

看到这个信息,快感动哭了。终于知道问题在哪了。根据图示的信息自行下载并上传到服务器相应的目录中。重新用npm安装。

之后nodebb顺利上传图片。

问题解决。


总结

npm更换镜像源、yarn更换镜像源并不能解决一些包内依赖下载的问题。