libvips下载失败导致npm安装sharp失败

今天想写个工具将laya打包出来的图集还原成原始的小图,需要用到sharp,于是小手敲起来~

npm i sharp -S

咦,出现了以下错误:

413 error code 1
414 error path F:\tgit\fy\break-atlas\node_modules\sharp
415 error command failed
416 error command C:\WINDOWS\system32\cmd.exe /d /s /c (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
417 error sharp: Downloading https://npm.taobao.org/mirrors/sharp-libvips/v8.10.6/libvips-8.10.6-win32-x64.tar.gz
417 error sharp: Attempting to build from source via node-gyp but this may fail due to the above error
417 error sharp: Please see https://sharp.pixelplumbing.com/install for required dependencies
417 error �ڴ˽��������һ������һ����Ŀ����Ҫ���ò������ɣ������ӡ�/m�����ء�
417 error   nothing.c
417 error   win_delay_load_hook.cc
417 error   nothing.vcxproj -> F:\tgit\fy\break-atlas\node_modules\sharp\build\Release\\nothing.lib
417 error   VError.cpp
417 error ..\src\libvips\cplusplus\VError.cpp(33): fatal error C1083: Cannot open include file: 'vips/intl.h': No such file or directory [F:\tgit\fy\break-atlas\node_modules\sharp\build\libvips-cpp.vcxproj]
418 error sharp: Installation error: tunneling socket could not be established, cause=socket hang up
418 error gyp info it worked if it ends with ok
418 error gyp info using node-gyp@7.1.2
418 error gyp info using node@10.14.2 | win32 | x64
418 error gyp info find Python using Python version 2.7.0 found at "C:\Python27\python.exe"
418 error gyp info find VS using VS2015 (14.0) found at:
418 error gyp info find VS "D:\Program Files (x86)\Microsoft Visual Studio 14.0"
418 error gyp info find VS run with --verbose for detailed information
418 error gyp info spawn C:\Python27\python.exe
418 error gyp info spawn args [ 'C:\\Users\\fygame\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\gyp\\gyp_main.py',
418 error gyp info spawn args   'binding.gyp',
418 error gyp info spawn args   '-f',
418 error gyp info spawn args   'msvs',
418 error gyp info spawn args   '-I',
418 error gyp info spawn args   'F:\\tgit\\fy\\break-atlas\\node_modules\\sharp\\build\\config.gypi',
418 error gyp info spawn args   '-I',
418 error gyp info spawn args   'C:\\Users\\fygame\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\addon.gypi',
418 error gyp info spawn args   '-I',
418 error gyp info spawn args   'C:\\Users\\fygame\\AppData\\Local\\node-gyp\\Cache\\10.14.2\\include\\node\\common.gypi',
418 error gyp info spawn args   '-Dlibrary=shared_library',
418 error gyp info spawn args   '-Dvisibility=default',
418 error gyp info spawn args   '-Dnode_root_dir=C:\\Users\\fygame\\AppData\\Local\\node-gyp\\Cache\\10.14.2',
418 error gyp info spawn args   '-Dnode_gyp_dir=C:\\Users\\fygame\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp',
418 error gyp info spawn args   '-Dnode_lib_file=C:\\\\Users\\\\fygame\\\\AppData\\\\Local\\\\node-gyp\\\\Cache\\\\10.14.2\\\\<(target_arch)\\\\node.lib',
418 error gyp info spawn args   '-Dmodule_root_dir=F:\\tgit\\fy\\break-atlas\\node_modules\\sharp',
418 error gyp info spawn args   '-Dnode_engine=v8',
418 error gyp info spawn args   '--depth=.',
418 error gyp info spawn args   '--no-parallel',
418 error gyp info spawn args   '--generator-output',
418 error gyp info spawn args   'F:\\tgit\\fy\\break-atlas\\node_modules\\sharp\\build',
418 error gyp info spawn args   '-Goutput_dir=.' ]
418 error gyp info spawn C:\Program Files (x86)\MSBuild\14.0\bin\MSBuild.exe
418 error gyp info spawn args [ 'build/binding.sln',
418 error gyp info spawn args   '/clp:Verbosity=minimal',
418 error gyp info spawn args   '/nologo',
418 error gyp info spawn args   '/p:Configuration=Release;Platform=x64' ]
418 error gyp ERR! build error
418 error gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\MSBuild.exe` failed with exit code: 1
418 error gyp ERR! stack     at ChildProcess.onExit (C:\Users\fygame\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\build.js:194:23)
418 error gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
418 error gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)
418 error gyp ERR! System Windows_NT 10.0.19041
418 error gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\fygame\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
418 error gyp ERR! cwd F:\tgit\fy\break-atlas\node_modules\sharp
418 error gyp ERR! node -v v10.14.2
418 error gyp ERR! node-gyp -v v7.1.2
418 error gyp ERR! not ok
419 verbose exit 1

从错误信息可以看出,sharp依赖于libvips,他会先下载https://npm.taobao.org/mirrors/sharp-libvips/v8.10.6/libvips-8.10.6-win32-x64.tar.gz,然后进行编译,而接下去的报错是..\src\libvips\cplusplus\VError.cpp(33): fatal error C1083: Cannot open include file: 'vips/intl.h': No such file or directory,可以推测上面那个sharp-libvips的压缩包下载失败。去npm cache目录查看安装时的_libvips目录,果然是空的。而使用浏览器可以成功下载这个压缩包。于是解决办法简单多了,把手动下载的压缩包放到cache目录里再重新安装就好了。
使用以下命令可以查看自己的npm cache目录:

npm config get cache

我的cache目录是C:\Users\fygame\AppData\Local\npm-cache,于是把libvips-8.10.6-win32-x64.tar.gz放入C:\Users\fygame\AppData\Local\npm-cache\_libvips,重新执行npm i sharp -S成功。

F:\tgit\fy\break-atlas>npm i sharp --unsafe-perm
(node:171408) ExperimentalWarning: The fs.promises API is experimental

added 69 packages, and audited 75 packages in 37s

6 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

F:\tgit\fy\break-atlas>npm i sharp
(node:173888) ExperimentalWarning: The fs.promises API is experimental

up to date, audited 75 packages in 2s

6 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,869评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,716评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,223评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,047评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,089评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,839评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,516评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,410评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,920评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,052评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,179评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,868评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,522评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,070评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,186评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,487评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,162评论 2 356

推荐阅读更多精彩内容