安装过程中遇到sharp安装慢
安装过程中遇到sharp安装慢,有时等一天也未必完装成功。常见办法,改变“源”如淘宝或其它,这个也比较卡。而且也解决不了问题。
慢的原因
说明:安装过程中会依赖“libvips”这是一个c++的的包,sharp是处理图片的,所以 要依赖环境来处理图片,libvips就是sharp的底层。可以简单的这么认为。那么如何装成功呢?有两种解决办法,分别是npm-cache和查看sharp的依赖项libvips的版本号。推荐第三种
一、npm-cache方法
npm安装的过程
由于npm安装或者yarn安装的时候,都是从npm-cache查看一下有历史安装过的就直接从本地缓存安装到本地项目; 如果本地缓存中没有这个包,再从网上下,我们也发现了。就是从网上下的时候下为了,才导致一直卡在这里。
解决办法
- 手动去下载这个包。在下载这个包的时候,我们也不知道它依赖的版本。还是先要走一会线上下载。
- 先
yarn add sharp
安装过程中会在npm-cache中添加_libvips目录。 - 查看_libvips目录下的文件版本
npm config get cache
查看 npm-cache的目录
cd npm-cache目录
切换至npm-cache的目录(这个目录即上个命令的输出结果)
cd _libvips
切换至sharp依赖的c++包。重点要看这个目录下相关的libvips-版本号。打开github下载这个包。并放至在这个_libvips目录下。
-重新执行yarn
即可。
二、sharp依赖项libvips版本号
查看sharp包中的package.json
中的config
配置项会带有libvips
的版本号
下载libvips相应的版本号
- 通过github下载的话,一般需要翻墙。
https://github.com/lovell/sharp-libvips/releases - 百度网盘
链接: https://pan.baidu.com/s/1lTOrSdoFxa3xRczs8FLNIA 提取码: uz3n
三、改变npm 源或yarn源
在项目的根目录下可以通过.yarnrc
文件指定下载的源;也可以在项目的根目录下通过.npmrc
文件指定下载的源
sharp-libvips_cdnurl "https://npm.taobao.org/mirrors/sharp-libvips/v8.7.4/"
其它文件的源也可以通过地址去查看
https://npm.taobao.org/mirrors
总结
我在北京办公点下载是成功的(windows)。回到了郑州办公点下载后就一直卡着和同事一样的情况。迫使我去查看了windows下的npm-cache中缓存记录。最终定位了这个问题。后面又查看了别的项目中有第三种情况的用法,及时更新,希望对大家有所帮助 。