安裝過(guò)程中遇到sharp安裝慢
安裝過(guò)程中遇到sharp安裝慢,有時(shí)等一天也未必完裝成功。常見辦法,改變“源”如淘寶或其它,這個(gè)也比較卡。而且也解決不了問(wèn)題。
慢的原因
說(shuō)明:安裝過(guò)程中會(huì)依賴“l(fā)ibvips”這是一個(gè)c++的的包,sharp是處理圖片的,所以 要依賴環(huán)境來(lái)處理圖片,libvips就是sharp的底層??梢院?jiǎn)單的這么認(rèn)為。那么如何裝成功呢?有兩種解決辦法,分別是npm-cache和查看sharp的依賴項(xiàng)libvips的版本號(hào)。推薦第三種
一、npm-cache方法
npm安裝的過(guò)程
由于npm安裝或者yarn安裝的時(shí)候,都是從npm-cache查看一下有歷史安裝過(guò)的就直接從本地緩存安裝到本地項(xiàng)目; 如果本地緩存中沒(méi)有這個(gè)包,再?gòu)木W(wǎng)上下,我們也發(fā)現(xiàn)了。就是從網(wǎng)上下的時(shí)候下為了,才導(dǎo)致一直卡在這里。
解決辦法
- 手動(dòng)去下載這個(gè)包。在下載這個(gè)包的時(shí)候,我們也不知道它依賴的版本。還是先要走一會(huì)線上下載。
- 先
yarn add sharp安裝過(guò)程中會(huì)在npm-cache中添加_libvips目錄。 - 查看_libvips目錄下的文件版本
npm config get cache查看 npm-cache的目錄
cd npm-cache目錄切換至npm-cache的目錄(這個(gè)目錄即上個(gè)命令的輸出結(jié)果)
cd _libvips切換至sharp依賴的c++包。重點(diǎn)要看這個(gè)目錄下相關(guān)的libvips-版本號(hào)。打開github下載這個(gè)包。并放至在這個(gè)_libvips目錄下。
-重新執(zhí)行yarn即可。
image
二、sharp依賴項(xiàng)libvips版本號(hào)
查看sharp包中的package.json中的config配置項(xiàng)會(huì)帶有libvips的版本號(hào)

下載libvips相應(yīng)的版本號(hào)
- 通過(guò)github下載的話,一般需要翻墻。
https://github.com/lovell/sharp-libvips/releases - 百度網(wǎng)盤
鏈接: https://pan.baidu.com/s/1lTOrSdoFxa3xRczs8FLNIA 提取碼: uz3n
三、改變npm 源或yarn源
在項(xiàng)目的根目錄下可以通過(guò).yarnrc文件指定下載的源;也可以在項(xiàng)目的根目錄下通過(guò).npmrc文件指定下載的源
sharp-libvips_cdnurl "https://npm.taobao.org/mirrors/sharp-libvips/v8.7.4/"
其它文件的源也可以通過(guò)地址去查看
https://npm.taobao.org/mirrors

總結(jié)
我在北京辦公點(diǎn)下載是成功的(windows)?;氐搅肃嵵蒉k公點(diǎn)下載后就一直卡著和同事一樣的情況。迫使我去查看了windows下的npm-cache中緩存記錄。最終定位了這個(gè)問(wèn)題。后面又查看了別的項(xiàng)目中有第三種情況的用法,及時(shí)更新,希望對(duì)大家有所幫助 。