==========================================
iFlow CLI Installation Script
Optimized for Development Machines
==========================================
ℹ System: Linux 6.18.3-arch1-1
ℹ Shell: zsh
✅ uv is already installed
ℹ uv version: uv 0.7.3
✅ Node.js v22.17.0 is already installed (>= 20)
ℹ Using existing Node.js installation
ℹ Cleaning npmrc conflicts...
ℹ Installing iFlow CLI...
**npm** warn deprecated har-validator@5.1.5: this library is no longer supported
**npm** warn deprecated phin@3.7.1: Package no longer supported. Contact Support at https://ww
w.npmjs.com/support for more info.
**npm** warn deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions ma
y use Math.random() in certain circumstances, which is known to be problematic. See https
://v8.dev/blog/math-random for details.
**npm** warn deprecated request@2.88.2: request has been deprecated, see https://github.com/re
quest/request/issues/3142
**npm** warn deprecated node-domexception@1.0.0: Use your platform's native DOMException inste
ad
**npm** error code 1
**npm** error path /home/clyzhi/.nvm/versions/node/v22.17.0/lib/node_modules/@iflow-ai/iflow-c
li/node_modules/sharp
**npm** error command failed
**npm** error command sh -c node install/check.js || npm run build
**npm** error > sharp@0.34.5 build
**npm** error > node install/build.js
**npm** error
**npm** error sharp: Attempting to build from source via node-gyp
**npm** error sharp: See https://sharp.pixelplumbing.com/install#building-from-source
**npm** error sharp: Found node-addon-api
**npm** error sharp: Please add node-gyp to your dependencies
**npm** error A complete log of this run can be found in: /home/clyzhi/.npm/\_logs/2026-01-12T1
1_11_32_681Z-debug-0.log
❌ Failed to install iFlow CLI!
如果使用 pnpm 全局安装:
asdef ➤ pnpm install -g @iflow-ai/iflow-cli
WARN 7 deprecated subdependencies found: glob@8.1.0, har-validator@5.1.5, inflight@1.0.6, node-domexception@1.0.0, phin@3.7.1, request@2.88.2, uuid@3.4.0
Packages: +204
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Progress: resolved 655, reused 609, downloaded 0, added 0, done
/home/clyzhi/.local/share/pnpm/global/5:
+ @iflow-ai/iflow-cli 0.5.0
╭ Warning ──────────────────────────────────────────────────────────────────────────────╮
│ │
│ Ignored build scripts: @iflow-ai/iflow-cli, node-pty, sharp. │
│ Run "pnpm approve-builds -g" to pick which dependencies should be allowed to run │
│ scripts. │
│ │
╰───────────────────────────────────────────────────────────────────────────────────────╯
Done in 3.1s using pnpm v10.22.0
asdef ➤ iflow
file:///home/clyzhi/.local/share/pnpm/global/5/.pnpm/@iflow-ai+iflow-cli@0.5.0_react@19.2.3/node_modules/@iflow-ai/iflow-cli/bundle/iflow.js:6853
--`+e;let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n),this.boundaryChars[r[n]]=!0;this.boundary=r,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=sf.START_BOUNDARY}write(e){let r=0,n=e.length,o=this.index,{lookbehind:s,boundary:a,boundaryChars:c,index:u,state:d,flags:f}=this,p=this.boundary.length,h=p-1,m=e.length,g,A,y=C=>{this[C+"Mark"]=r},E=C=>{delete this[C+"Mark"]},v=(C,w,x,S)=>{(w===void 0||w!==x)&&this[C](S&&S.subarray(w,x))},b=(C,w)=>{let x=C+"Mark";x in this&&(w?(v(C,this[x],r,e),delete this[x]):(v(C,this[x],e.length,e),this[x]=0))};for(r=0;r<n;r++)switch(g=e[r],d){case sf.START_BOUNDARY:if(u===a.length-2){if(g===n7e)f|=U$.LAST_BOUNDARY;else if(g!==S0t)return;u++;break}else if(u-1===a.length-2){if(f&U$.LAST_BOUNDARY&&g===n7e)d=sf.END,f=0;else if(!(f&U$.LAST_BOUNDARY)&&g===x0t)u=0,v("onPartBegin"),d=sf.HEADER_FIELD_START;else return;break}g!==a[u+2]&&(u=-2),g===a[u+2]&&u++;break;case sf.HEADER_FIELD_START:d=sf.HEADER_FIELD,y("onHeaderField"),u=0;case sf.HEADER_FIELD:if(g===S0t){E("onHeaderField"),d=sf.HEADERS_ALMOST_DONE;break}if(u++,g===n7e)break;if(g===Eml){if(u===1)return;b("onHeaderField",!0),d=sf.HEADER_VALUE_START;break}if(A=Cml(g),A<vml||A>bml)return;break;case sf.HEADER_VALUE_START:if(g===_ml)break;y("onHeaderValue"),d=sf.HEADER_VALUE;case sf.HEADER_VALUE:g===S0t&&(b("onHeaderValue",!0),v("onHeaderEnd"),d=sf.HEADER_VALUE_ALMOST_DONE);break;case sf.HEADER_VALUE_ALMOST_DONE:if(g!==x0t)return;d=sf.HEADER_FIELD_START;break;case sf.HEADERS_ALMOST_DONE:if(g!==x0t)return;v("onHeadersEnd"),d=sf.PART_DATA_START;break;case sf.PART_DATA_START:d=sf.PART_DATA,y("onPartData");case sf.PART_DATA:if(o=u,u===0){for(r+=h;r<m&&!(e[r]in c);)r+=p;r-=h,g=e[r]}if(u<a.length)a[u]===g?(u===0&&b("onPartData",!0),u++):u=0;else if(u===a.length)u++,g===S0t?f|=U$.PART_BOUNDARY:g===n7e?f|=U$.LAST_BOUNDARY:u=0;else if(u-1===a.length)if(f&U$.PART_BOUNDARY){if(u=0,g===x0t){f&=~U$.PART_BOUNDARY,v("onPartEnd"),v("onPartBegin"),d=sf.HEADER_FIELD_START;break}}else f&U$.LAST_BOUNDARY&&g===n7e?(v("onPartEnd"),d=sf.END,f=0):u=0;if(u>0)s[u-1]=g;else if(o>0){let C=new Uint8Array(s.buffer,s.byteOffset,s.byteLength);v("onPartData",0,o,C),o=0,y("onPartData"),r--}break;case sf.END:break;default:throw new Error(`Unexpected state entered: ${d}`)}b("onHeaderField"),b("onHeaderValue"),b("onPartData"),this.index=u,this.state=d,this.flags=f}end(){if(this.state===sf.HEADER_FIELD_START&&this.index===0||this.state===sf.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==sf.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}}});var rR=k((zFu,MYi)=>{var PYi=t=>typeof t<"u"&&t!==null,Uml=t=>typeof t=="object",Qml=t=>Object.prototype.toString.call(t)==="[object Object]",jml=t=>typeof t=="function",$ml=t=>typeof t=="boolean",Gml=t=>t instanceof Buffer,qml=t=>{if(PYi(t))switch(t.constructor){case Uint8Array:case Uint8ClampedArray:case Int8Array:case Uint16Array:case Int16Array:case Uint32Array:case Int32Array:case Float32Array:case Float64Array:return!0}return!1},Hml=t=>t instanceof ArrayBuffer,Vml=t=>typeof t=="string"&&t.length>0,Wml=t=>typeof t=="number"&&!Number.isNaN(t),zml=t=>Number.isInteger(t),Yml=(t,e,r)=>t>=e&&t<=r,Kml=(t,e)=>e.includes(t),Xml=(t,e,r)=>new Error(`Expected ${e} for ${t} but received ${r} of type ${typeof r}`),Jml=(t,e)=>(e.message=t.message,e);MYi.exports={defined:PYi,object:Uml,plainObject:Qml,fn:jml,bool:$ml,buffer:Gml,typedArray:qml,arrayBuffer:Hml,string:Vml,number:Wml,integer:zml,inRange:Yml,inArray:Kml,invalidParameterError:Xml,nativeError:Jml}});var UYi=k((YFu,LYi)=>{"use strict";var FYi=()=>process.platform==="linux",B0t=null,Zml=()=>{if(!B0t)if(FYi()&&process.report){let t=process.report.excludeNetwork;process.report.excludeNetwork=!0,B0t=process.report.getReport(),process.report.excludeNetwork=t}else B0t={};return B0t};LYi.exports={isLinux:FYi,getReport:Zml}});var jYi=k((KFu,QYi)=>{"use strict";var yme=_e("fs"),e0l="/usr/bin/ldd",t0l="/proc/self/exe",P0t=2048,r0l=t=>{let e=yme.openSync(t,"r"),r=Buffer.alloc(P0t),n=yme.readSync(e,r,0,P0t,0);return yme.close(e,()=>{}),r.subarray(0,n)},n0l=t=>new Promise((e,r)=>{yme.open(t,"r",(n,o)=>{if(n)r(n);else{let s=Buffer.alloc(P0t);yme.read(o,s,0,P0t,0,(a,c)=>{e(s.subarray(0,c)),yme.close(o,()=>{})})}})});QYi.exports={LDD_PATH:e0l,SELF_PATH:t0l,readFileSync:r0l,readFile:n0l}});var GYi=k((XFu,$Yi)=>{"use strict";var i0l=t=>{if(t.length<64||t.readUInt32BE(0)!==2135247942||t.readUInt8(4)!==2||t.readUInt8(5)!==1)return null;let e=t.readUInt32LE(32),r=t.readUInt16LE(54),n=t.readUInt16LE(56);for(let o=0;o<n;o++){let s=e+o*r;if(t.readUInt32LE(s)===3){let c=t.readUInt32LE(s+8),u=t.readUInt32LE(s+32);return t.subarray(c,c+u).toString().replace(/\0.*$/g,"")}}return null};$Yi.exports={interpreterPath:i0l}});var F0t=k((JFu,aKi)=>{"use strict";var HYi=_e("child_process"),{isLinux:_me,getReport:VYi}=UYi(),{LDD_PATH:M0t,SELF_PATH:WYi,readFile:dyr,readFileSync:fyr}=jYi(),{interpreterPath:zYi}=GYi(),nR,iR,oR,YYi="getconf GNU_LIBC_VERSION 2>&1 || true; ldd --version 2>&1 || true",j$="",KYi=()=>j$||new Promise(t=>{HYi.exec(YYi,(e,r)=>{j$=e?" ":r,t(j$)})}),XYi=()=>{if(!j$)try{j$=HYi.execSync(YYi,{encoding:"utf8"})}catch{j$=" "}return j$},yP="glibc",JYi=/LIBC[a-z0-9 \-).]*?(\d+\.\d+)/i,tZ="musl",o0l=t=>t.includes("libc.musl-")||t.includes("ld-musl-"),ZYi=()=>{let t=VYi();return t.header&&t.header.glibcVersionRuntime?yP:Array.isArray(t.sharedObjects)&&t.sharedObjects.some(o0l)?tZ:null},eKi=t=>{let[e,r]=t.split(/[\r\n]+/);return e&&e.includes(yP)?yP:r&&r.includes(tZ)?tZ:null},tKi=t=>{if(t){if(t.includes("/ld-musl-"))return tZ;if(t.includes("/ld-linux-"))return yP}return null},rKi=t=>(t=t.toString(),t.includes("musl")?tZ:t.includes("GNU C Library")?yP:null),s0l=async()=>{if(iR!==void 0)return iR;iR=null;try{let t=await dyr(M0t);iR=rKi(t)}catch{}return iR},a0l=()=>{if(iR!==void 0)return iR;iR=null;try{let t=fyr(M0t);iR=rKi(t)}catch{}return iR},l0l=async()=>{if(nR!==void 0)return nR;nR=null;try{let t=await dyr(WYi),e=zYi(t);nR=tKi(e)}catch{}return nR},c0l=()=>{if(nR!==void 0)return nR;nR=null;try{let t=fyr(WYi),e=zYi(t);nR=tKi(e)}catch{}return nR},nKi=async()=>{let t=null;if(_me()&&(t=await l0l(),!t&&(t=await s0l(),t||(t=ZYi()),!t))){let e=await KYi();t=eKi(e)}return t},iKi=()=>{let t=null;if(_me()&&(t=c0l(),!t&&(t=a0l(),t||(t=ZYi()),!t))){let e=XYi();t=eKi(e)}return t},u0l=async()=>_me()&&await nKi()!==yP,d0l=()=>_me()&&iKi()!==yP,f0l=async()=>{if(oR!==void 0)return oR;oR=null;try{let e=(await dyr(M0t)).match(JYi);e&&(oR=e[1])}catch{}return oR},p0l=()=>{if(oR!==void 0)return oR;oR=null;try{let e=fyr(M0t).match(JYi);e&&(oR=e[1])}catch{}return oR},oKi=()=>{let t=VYi();return t.header&&t.header.glibcVersionRuntime?t.header.glibcVersionRuntime:null},qYi=t=>t.trim().split(/\s+/)[1],sKi=t=>{let[e,r,n]=t.split(/[\r\n]+/);return e&&e.includes(yP)?qYi(e):r&&n&&r.includes(tZ)?qYi(n):null},h0l=async()=>{let t=null;if(_me()&&(t=await f0l(),t||(t=oKi()),!t)){let e=await KYi();t=sKi(e)}return t},m0l=()=>{let t=null;if(_me()&&(t=p0l(),t||(t=oKi()),!t)){let e=XYi();t=sKi(e)}return t};aKi.exports={GLIBC:yP,MUSL:tZ,family:nKi,familySync:iKi,isNonGlibcLinux:u0l,isNonGlibcLinuxSync:d0l,version:h0l,versionSync:m0l}});var pyr=k((ZFu,g0l)=>{g0l.exports={name:"sharp",description:"High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP, GIF, AVIF and TIFF images",version:"0.34.5",author:"Lovell Fuller <npm@lovell.info>",homepage:"https://sharp.pixelplumbing.com",contributors:["Pierre Inglebert <pierre.inglebert@gmail.com>","Jonathan Ong <jonathanrichardong@gmail.com>","Chanon Sajjamanochai <chanon.s@gmail.com>","Juliano Julio <julianojulio@gmail.com>","Daniel Gasienica <daniel@gasienica.ch>","Julian Walker <julian@fiftythree.com>","Amit Pitaru <pitaru.amit@gmail.com>","Brandon Aaron <hello.brandon@aaron.sh>","Andreas Lind <andreas@one.com>","Maurus Cuelenaere <mcuelenaere@gmail.com>","Linus Unneb\xE4ck <linus@folkdatorn.se>","Victor Mateevitsi <mvictoras@gmail.com>","Alaric Holloway <alaric.holloway@gmail.com>","Bernhard K. Weisshuhn <bkw@codingforce.com>","Chris Riley <criley@primedia.com>","David Carley <dacarley@gmail.com>","John Tobin <john@limelightmobileinc.com>","Kenton Gray <kentongray@gmail.com>","Felix B\xFCnemann <Felix.Buenemann@gmail.com>","Samy Al Zahrani <samyalzahrany@gmail.com>","Chintan Thakkar <lemnisk8@gmail.com>","F. Orlando Galashan <frulo@gmx.de>","Kleis Auke Wolthuizen <info@kleisauke.nl>","Matt Hirsch <mhirsch@media.mit.edu>","Matthias Thoemmes <thoemmes@gmail.com>","Patrick Paskaris <patrick@paskaris.gr>","J\xE9r\xE9my Lal <kapouer@melix.org>","Rahul Nanwani <r.nanwani@gmail.com>","Alice Monday <alice0meta@gmail.com>","Kristo Jorgenson <kristo.jorgenson@gmail.com>","YvesBos <yves_bos@outlook.com>","Guy Maliar <guy@tailorbrands.com>","Nicolas Coden <nicolas@ncoden.fr>","Matt Parrish <matt.r.parrish@gmail.com>","Marcel Bretschneider <marcel.bretschneider@gmail.com>","Matthew McEachen <matthew+github@mceachen.org>","Jarda Kot\u011B\u0161ovec <jarda.kotesovec@gmail.com>","Kenric D'Souza <kenric.dsouza@gmail.com>","Oleh Aleinyk <oleg.aleynik@gmail.com>","Marcel Bretschneider <marcel.bretschneider@gmail.com>","Andrea Bianco <andrea.bianco@unibas.ch>","Rik Heywood <rik@rik.org>","Thomas Parisot <hi@oncletom.io>","Nathan Graves <nathanrgraves+github@gmail.com>","Tom Lokhorst <tom@lokhorst.eu>","Espen Hovlandsdal <espen@hovlandsdal.com>","Sylvain Dumont <sylvain.dumont35@gmail.com>","Alun Davies <alun.owain.davies@googlemail.com>","Aidan Hoolachan <ajhoolachan21@gmail.com>","Axel Eirola <axel.eirola@iki.fi>","Freezy <freezy@xbmc.org>","Daiz <taneli.vatanen@gmail.com>","Julian Aubourg <j@ubourg.net>","Keith Belovay <keith@picthrive.com>","Michael B. Klein <mbklein@gmail.com>","Jordan Prudhomme <jordan@raboland.fr>","Ilya Ovdin <iovdin@gmail.com>","Andargor <andargor@yahoo.com>","Paul Neave <paul.neave@gmail.com>","Brendan Kennedy <brenwken@gmail.com>","Brychan Bennett-Odlum <git@brychan.io>","Edward Silverton <e.silverton@gmail.com>","Roman Malieiev <aromaleev@gmail.com>","Tomas Szabo <tomas.szabo@deftomat.com>","Robert O'Rourke <robert@o-rourke.org>","Guillermo Alfonso Varela Chouci\xF1o <guillevch@gmail.com>","Christian Flintrup <chr@gigahost.dk>","Manan Jadhav <manan@motionden.com>","Leon Radley <leon@radley.se>","alza54 <alza54@thiocod.in>","Jacob Smith <jacob@frende.me>","Michael Nutt <michael@nutt.im>","Brad Parham <baparham@gmail.com>","Taneli Vatanen <taneli.vatanen@gmail.com>","Joris Dugu\xE9 <zaruike10@gmail.com>","Chris Banks <christopher.bradley.banks@gmail.com>","Ompal Singh <ompal.hitm09@gmail.com>","Brodan <christopher.hranj@gmail.com>","Ankur Parihar <ankur.github@gmail.com>","Brahim Ait elhaj <brahima@gmail.com>","Mart Jansink <m.jansink@gmail.com>","Lachlan Newman <lachnewman007@gmail.com>","Dennis Beatty <dennis@dcbeatty.com>","Ingvar Stepanyan <me@rreverser.com>","Don Denton <don@happycollision.com>"],scripts:{build:"node install/build.js",install:"node install/check.js || npm run build",clean:"rm -rf src/build/ .nyc_output/ coverage/ test/fixtures/output.*",test:"npm run lint && npm run test-unit",lint:"npm run lint-cpp && npm run lint-js && npm run lint-types","lint-cpp":"cpplint --quiet src/*.h src/*.cc","lint-js":"biome lint","lint-types":"tsd --files ./test/types/sharp.test-d.ts","test-leak":"./test/leak/leak.sh","test-unit":"node --experimental-test-coverage test/unit.mjs","package-from-local-build":"node npm/from-local-build.js","package-release-notes":"node npm/release-notes.js","docs-build":"node docs/build.mjs","docs-serve":"cd docs && npm start","docs-publish":"cd docs && npm run build && npx firebase-tools deploy --project pixelplumbing --only hosting:pixelplumbing-sharp"},type:"commonjs",main:"lib/index.js",types:"lib/index.d.ts",files:["install","lib","src/*.{cc,h,gyp}"],repository:{type:"git",url:"git://github.com/lovell/sharp.git"},keywords:["jpeg","png","webp","avif","tiff","gif","svg","jp2","dzi","image","resize","thumbnail","crop","embed","libvips","vips"],dependencies:{"@img/colour":"^1.0.0","detect-libc":"^2.1.2",semver:"^7.7.3"},optionalDependencies:{"@img/sharp-darwin-arm64":"0.34.5","@img/sharp-darwin-x64":"0.34.5","@img/sharp-libvips-darwin-arm64":"1.2.4","@img/sharp-libvips-darwin-x64":"1.2.4","@img/sharp-libvips-linux-arm":"1.2.4","@img/sharp-libvips-linux-arm64":"1.2.4","@img/sharp-libvips-linux-ppc64":"1.2.4","@img/sharp-libvips-linux-riscv64":"1.2.4","@img/sharp-libvips-linux-s390x":"1.2.4","@img/sharp-libvips-linux-x64":"1.2.4","@img/sharp-libvips-linuxmusl-arm64":"1.2.4","@img/sharp-libvips-linuxmusl-x64":"1.2.4","@img/sharp-linux-arm":"0.34.5","@img/sharp-linux-arm64":"0.34.5","@img/sharp-linux-ppc64":"0.34.5","@img/sharp-linux-riscv64":"0.34.5","@img/sharp-linux-s390x":"0.34.5","@img/sharp-linux-x64":"0.34.5","@img/sharp-linuxmusl-arm64":"0.34.5","@img/sharp-linuxmusl-x64":"0.34.5","@img/sharp-wasm32":"0.34.5","@img/sharp-win32-arm64":"0.34.5","@img/sharp-win32-ia32":"0.34.5","@img/sharp-win32-x64":"0.34.5"},devDependencies:{"@biomejs/biome":"^2.3.4","@cpplint/cli":"^0.1.0","@emnapi/runtime":"^1.7.0","@img/sharp-libvips-dev":"1.2.4","@img/sharp-libvips-dev-wasm32":"1.2.4","@img/sharp-libvips-win32-arm64":"1.2.4","@img/sharp-libvips-win32-ia32":"1.2.4","@img/sharp-libvips-win32-x64":"1.2.4","@types/node":"*",emnapi:"^1.7.0","exif-reader":"^2.0.2","extract-zip":"^2.0.1",icc:"^3.0.0","jsdoc-to-markdown":"^9.1.3","node-addon-api":"^8.5.0","node-gyp":"^11.5.0","tar-fs":"^3.1.1",tsd:"^0.33.0"},license:"Apache-2.0",engines:{node:"^18.17.0 || ^20.3.0 || >=21.0.0"},config:{libvips:">=8.17.3"},funding:{url:"https://opencollective.com/libvips"}}});var myr=k((eLu,AKi)=>{var{spawnSync:L0t}=_e("node:child_process"),{createHash:A0l}=_e("node:crypto"),dKi=VAr(),y0l=k9e(),_0l=Xhe(),lKi=F0t(),{config:E0l,engines:cKi,optionalDependencies:v0l}=pyr(),b0l=process.env.npm_package_config_libvips||E0l.libvips,fKi=dKi(b0l).version,C0l=["darwin-arm64","darwin-x64","linux-arm","linux-arm64","linux-ppc64","linux-riscv64","linux-s390x","linux-x64","linuxmusl-arm64","linuxmusl-x64","win32-arm64","win32-ia32","win32-x64"],U0t={encoding:"utf8",shell:!0},w0l=t=>{t instanceof Error?console.error(`sharp: Installation error: ${t.message}`):console.log(`sharp: ${t}`)},pKi=()=>lKi.isNonGlibcLinuxSync()?lKi.familySync():"",x0l=()=>`${process.platform}${pKi()}-${process.arch}`,Eme=()=>{if(hKi())return"wasm32";let{npm_config_arch:t,npm_config_platform:e,npm_config_libc:r}=process.env,n=typeof r=="string"?r:pKi();return`${e||process.platform}${n}-${t||process.arch}`},S0l=()=>{try{return _e(`@img/sharp-libvips-dev-${Eme()}/include`)}catch{try{return _e("@img/sharp-libvips-dev/include")}catch{}}return""},T0l=()=>{try{return _e("@img/sharp-libvips-dev/cplusplus")}catch{}return""},D0l=()=>{try{return _e(`@img/sharp-libvips-dev-${Eme()}/lib`)}catch{try{return _e(`@img/sharp-libvips-${Eme()}/lib`)}catch{}}return""},I0l=()=>{if(process.release?.name==="node"&&process.versions&&!_0l(process.versions.node,cKi.node))return{found:process.versions.node,expected:cKi.node}},hKi=()=>{let{CC:t}=process.env;return!!t?.endsWith("/emcc")},R0l=()=>process.platform==="darwin"&&process.arch==="x64"?(L0t("sysctl sysctl.proc_translated",U0t).stdout||"").trim()==="sysctl.proc_translated: 1":!1,uKi=t=>A0l("sha512").update(t).digest("hex"),k0l=()=>{try{let t=uKi(`imgsharp-libvips-${Eme()}`),e=dKi(v0l[`@img/sharp-libvips-${Eme()}`],{includePrerelease:!0}).version;return uKi(`${t}npm:${e}`).slice(0,10)}catch{}return""},O0l=()=>L0t(`node-gyp rebuild --directory=src ${hKi()?"--nodedir=emscripten":""}`,{...U0t,stdio:"inherit"}).status,mKi=()=>process.platform!=="win32"?(L0t("pkg-config --modversion vips-cpp",{...U0t,env:{...process.env,PKG_CONFIG_PATH:gKi()}}).stdout||"").trim():"",gKi=()=>process.platform!=="win32"?[(L0t('which brew >/dev/null 2>&1 && brew environment --plain | grep PKG_CONFIG_LIBDIR | cut -d" " -f2',U0t).stdout||"").trim(),process.env.PKG_CONFIG_PATH,"/usr/local/lib/pkgconfig","/usr/lib/pkgconfig","/usr/local/libdata/pkgconfig","/usr/libdata/pkgconfig"].filter(Boolean).join(":"):"",hyr=(t,e,r)=>(r&&r(`Detected ${e}, skipping search for globally-installed libvips`),t),N0l=t=>{if(process.env.SHARP_IGNORE_GLOBAL_LIBVIPS)return hyr(!1,"SHARP_IGNORE_GLOBAL_LIBVIPS",t);if(process.env.SHARP_FORCE_GLOBAL_LIBVIPS)return hyr(!0,"SHARP_FORCE_GLOBAL_LIBVIPS",t);if(R0l())return hyr(!1,"Rosetta",t);let e=mKi();return!!e&&y0l(e,fKi)};AKi.exports={minimumLibvipsVersion:fKi,prebuiltPlatforms:C0l,buildPlatformArch:Eme,buildSharpLibvipsIncludeDir:S0l,buildSharpLibvipsCPlusPlusDir:T0l,buildSharpLibvipsLibDir:D0l,isUnsupportedNodeRuntime:I0l,runtimePlatformArch:x0l,log:w0l,yarnLocator:k0l,spawnRebuild:O0l,globalLibvipsVersion:mKi,pkgConfigPath:gKi,useGlobalLibvips:N0l}});var s7e=k((rLu,_Ki)=>{var{familySync:B0l,versionSync:P0l}=F0t(),{runtimePlatformArch:M0l,isUnsupportedNodeRuntime:yKi,prebuiltPlatforms:F0l,minimumLibvipsVersion:L0l}=myr(),rZ=M0l(),U0l=[`../src/build/Release/sharp-${rZ}.node`,"../src/build/Release/sharp-wasm32.node",`@img/sharp-${rZ}/sharp.node`,"@img/sharp-wasm32/sharp.node"],gyr,vme,o7e=[];for(gyr of U0l)try{vme=_e(gyr);break}catch(t){o7e.push(t)}if(vme&&gyr.startsWith("@img/sharp-linux-x64")&&!vme._isUsingX64V2()){let t=new Error("Prebuilt binaries for linux-x64 require v2 microarchitecture");t.code="Unsupported CPU",o7e.push(t),vme=null}if(vme)_Ki.exports=vme;else{let[t,e,r]=["linux","darwin","win32"].map(s=>rZ.startsWith(s)),n=[`Could not load the "sharp" module using the ${rZ} runtime`];o7e.forEach(s=>{s.code!=="MODULE_NOT_FOUND"&&n.push(`${s.code}: ${s.message}`)});let o=o7e.map(s=>s.message).join(" ");if(n.push("Possible solutions:"),yKi()){let{found:s,expected:a}=yKi();n.push("- Please upgrade Node.js:",` Found ${s}`,` Requires ${a}`)}else if(F0l.includes(rZ)){let[s,a]=rZ.split("-"),c=s.endsWith("musl")?" --libc=musl":"";n.push("- Ensure optional dependencies can be installed:"," npm install --include=optional sharp","- Ensure your package manager supports multi-platform installation:"," See https://sharp.pixelplumbing.com/install#cross-platform","- Add platform-specific dependencies:",` npm install --os=${s.replace("musl","")}${c} --cpu=${a} sharp`)}else n.push(`- Manually install libvips >= ${L0l}`,"- Add experimental WebAssembly-based dependencies:"," npm install --cpu=wasm32 sharp"," npm install @img/sharp-wasm32");if(t&&/(symbol not found|CXXABI_)/i.test(o))try{let{config:s}=_e(`@img/sharp-libvips-${rZ}/package`),a=`${B0l()} ${P0l()}`,c=`${s.musl?"musl":"glibc"} ${s.musl||s.glibc}`;n.push("- Update your OS:",` Found ${a}`,` Requires ${c}`)}catch{}throw t&&/\/snap\/core[0-9]{2}/.test(o)&&n.push("- Remove the Node.js Snap, which does not support native modules"," snap remove node"),e&&/Incompatible library version/.test(o)&&n.push("- Update Homebrew:"," brew update && brew upgrade vips"),o7e.some(s=>s.code==="ERR_DLOPEN_DISABLED")&&n.push("- Run Node.js without using the --no-addons flag"),r&&/The specified procedure could not be found/.test(o)&&n.push("- Using the canvas package on Windows?"," See https://sharp.pixelplumbing.com/install#canvas-and-windows","- Check for outdated versions of sharp in the dependency tree:"," npm ls sharp"),n.push("- Consult the installation documentation:"," See https://sharp.pixelplumbing.com/install"),new Error(n.join(`
TypeError: vme._isUsingX64V2 is not a function
at file:///home/clyzhi/.local/share/pnpm/global/5/.pnpm/@iflow-ai+iflow-cli@0.5.0_react@19.2.3/node_modules/@iflow-ai/iflow-cli/bundle/iflow.js:6853:17255
at file:///home/clyzhi/.local/share/pnpm/global/5/.pnpm/@iflow-ai+iflow-cli@0.5.0_react@19.2.3/node_modules/@iflow-ai/iflow-cli/bundle/iflow.js:3:500
at file:///home/clyzhi/.local/share/pnpm/global/5/.pnpm/@iflow-ai+iflow-cli@0.5.0_react@19.2.3/node_modules/@iflow-ai/iflow-cli/bundle/iflow.js:6854:85
at file:///home/clyzhi/.local/share/pnpm/global/5/.pnpm/@iflow-ai+iflow-cli@0.5.0_react@19.2.3/node_modules/@iflow-ai/iflow-cli/bundle/iflow.js:3:500
at file:///home/clyzhi/.local/share/pnpm/global/5/.pnpm/@iflow-ai+iflow-cli@0.5.0_react@19.2.3/node_modules/@iflow-ai/iflow-cli/bundle/iflow.js:6854:85414
at file:///home/clyzhi/.local/share/pnpm/global/5/.pnpm/@iflow-ai+iflow-cli@0.5.0_react@19.2.3/node_modules/@iflow-ai/iflow-cli/bundle/iflow.js:3:500
at file:///home/clyzhi/.local/share/pnpm/global/5/.pnpm/@iflow-ai+iflow-cli@0.5.0_react@19.2.3/node_modules/@iflow-ai/iflow-cli/bundle/iflow.js:7216:501
Node.js v22.17.0
asdef ➤
新版本更新时出现的提示吗?这个版本和sharp有点问题,我们正在修复ing
1 个赞
准确的说是更新之后再重新启动出现的错误,因为我看它在自动更新,我也不希望让它用 NPM 更新,因为我平常用的是 PNPM
其实sharp只需要安装个编译包就好了
0.5.1修复了这一问题,可以看看?