1import{_ as d}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as o,e as l,a,b as s,d as n,f as g,r as t,o as k}from"./app-K8asS0af.js";const u="/img/build/build02.jpeg",c="/img/build/build01.jpeg",b="/img/build/build03.gif",m="/img/build/build04.gif",y="/img/build/build05.gif",A="/img/build/build06.png",F="/img/build/build07.png",v="/img/build/build08.png",f="/img/build/build09.png",C="/img/build/build10.gif",B="/img/build/build11.gif",w="/img/build/build12.gif",E={},_={class:"hint-container tip"};function x(q,i){const h=t("BiliBili"),r=t("RouteLink"),e=t("Badge"),p=t("SiteInfo");return k(),o("div",null,[i[11]||(i[11]=l('<p>æçå°ä¼ä¼´æ³çèªå·±ç¼è¯ä¸ä¸ Alist<br> ä¸ç®¡æ¯åºäºèªå·±æ³æè ¾è¿æ¯èªå·±æ³æ¹æ¹æºç å©.大家é½å¯ä»¥ç¼è¯~ (à¹â¢Ìâ â¢)</p><h2 id="windowsçæ¬ç¼è¯æç¨" tabindex="-1"><a class="header-anchor" href="#windowsçæ¬ç¼è¯æç¨"><span>Windowsçæ¬ç¼è¯æç¨</span></a></h2><h2 id="_1-ç¼è¯ååå¤" tabindex="-1"><a class="header-anchor" href="#_1-ç¼è¯ååå¤"><span>1.ç¼è¯ååå¤</span></a></h2><h3 id="_1-1-ç¼è¯è§é¢çæç¨" tabindex="-1"><a class="header-anchor" href="#_1-1-ç¼è¯è§é¢çæç¨"><span>1.1 ç¼è¯è§é¢çæç¨</span></a></h3>',4)),a(h,{bvid:"BV1ye4y1m7e1"}),i[12]||(i[12]=s("h3",{id:"_1-2-ç¼è¯ä¹åçåææ¡ä»¶",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#_1-2-ç¼è¯ä¹åçåææ¡ä»¶"},[s("span",null,"1.2 ç¼è¯ä¹åçåææ¡ä»¶")])],-1)),i[13]||(i[13]=s("p",null,[n("大家å¯ä»¥çä¸ä¸è¿ééè¦å¥ï¼"),s("a",{href:"https://github.com/AlistGo/alist/blob/main/CONTRIBUTING.md",target:"_blank",rel:"noopener noreferrer"},"https://github.com/AlistGo/alist/blob/main/CONTRIBUTING.md")],-1)),i[14]||(i[14]=s("p",null,"ç¼è¯AList Goç«ç¶éè¦ 1.20+äº...ååå",-1)),i[15]||(i[15]=s("p",null,"ææ²¡è®°éåå 个ææå级äº1.18+...å级çå¿«(´ââ¸â')â",-1)),s("div",_,[i[3]||(i[3]=s("p",{class:"hint-container-title"},"æç¤º",-1)),s("p",null,[i[1]||(i[1]=n("è¿æ ·çç¼è¯çä¼¼ä¹åªæä¸ä¸ªçæ¬ï¼å¦æä½ æ³è¦åAList宿¹é£æ ·ç¼è¯å¾å¤å¯ä»¥ä½¿ç¨ ")),a(r,{to:"/index/build/github.html"},{default:g(()=>i[0]||(i[0]=[n("GitHub Actions")])),_:1}),i[2]||(i[2]=n(" æ¥è¿è¡ç¼è¯"))]),i[4]||(i[4]=s("ul",null,[s("li",null,[n("å¦æä½ åªæä¿®æ¹åç«¯çæ³æ³ï¼"),s("mark",null,[s("strong",null,"å¼ºçæ¨è")]),n(" åç¬åªè¿è¡ç¼è¯å端å³å¯ï¼å端(äºè¿å¶)åºç¨ç¨åºç»§ç»ä½¿ç¨AList宿¹åççæä»¶ "),s("ul",null,[s("li",null,[n("å 为ç°å¨æ¯æå¼ç¨ç¬¬ä¸æ¹å端æä»¶ä½¿ç¨ï¼åè "),s("a",{href:"https://alist.nn.ci/zh/config/configuration.html#bleve-dir",target:"_blank",rel:"noopener noreferrer"},"https://alist.nn.ci/zh/config/configuration.html#bleve-dir")])])]),s("li",null,"è¿æ ·å°±ä¸ç¨æ å¿è®¾å¤ä¸åä¸ä¼äº¤åç¼è¯ï¼ä»¥åç¼è¯è¿ç¨ä¸åºç°çé®é¢æ æ³è§£å³")],-1))]),i[16]||(i[16]=l(`<p><strong>ç¼è¯ä¹åæä»¬éè¦å åå¤å®è£ 好以ä¸è½¯ä»¶:</strong></p><ol><li><a href="https://git-scm.com/download/win" target="_blank" rel="noopener noreferrer"><strong>git</strong></a></li><li><a href="https://golang.org/doc/install" target="_blank" rel="noopener noreferrer"><strong>golang 1.20+</strong></a></li><li><a href="https://gcc.gnu.org/" target="_blank" rel="noopener noreferrer"><strong>gcc</strong></a></li><li><a href="https://nodejs.org/" target="_blank" rel="noopener noreferrer"><strong>nodejs</strong></a></li><li><a href="https://www.npmjs.com/package/pnpm" target="_blank" rel="noopener noreferrer"><strong>pnpm</strong></a></li></ol><p>以ä¸å®è£ è¿ç¨æå°±ä¸èµè¿°äº...<strong>ï¼å®è£ é®é¢é½è§£å³ä¸äºçè¯ç¼è¯ä¹å¤åï¼</strong></p><p>以ä¸è½¯ä»¶å®è£ 好åæä»¬å æ <strong>Goçä»£çæ¹ä¸ºå½å </strong> ç..</p><p>å®è£ 好Golangåå¹¶ä¸ä¹å° "<strong>ç¯å¢åé"</strong> é 置好ï¼ç¶åwin+R è¾å ¥CMDæå¼DDosé»çªå£(è¿éæ¯ç¨çWindows)</p><p>æ ¹æ®èªå·±çé ç½®è¾å ¥ï¼</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" data-title="bash" style="--shiki-light:#383A42;--shiki-dark:#abb2bf;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#282c34;"><pre class="shiki shiki-themes one-light one-dark-pro vp-code"><code><span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">go</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> env</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -w</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> GOPROXY=https://goproxy.cn,direct</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> //</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> Windows</span></span> 2<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C678DD;">export</span><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;"> GOPROXY</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">https</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">://</span><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">goproxy</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">.</span><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">cn</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">,</span><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">direct</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> // </span><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">macOS</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> æ </span><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">Linux</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p>å°ä»£çæ¹ä¸ºå½å ,ä¸ç¶ç¼è¯æ¶ä¼åºé,åäººè¡æ³ªå²ä¹ä¸... <strong>ï¼è¸©åä¸å·ï¼</strong></p><p><strong>ç¶åæä»¬æ¹å¥½åçççææ²¡æï¼</strong></p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" data-title="bash" style="--shiki-light:#383A42;--shiki-dark:#abb2bf;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#282c34;"><pre class="shiki shiki-themes one-light one-dark-pro vp-code"><code><span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">CMDé»çªå£è¾å ¥go</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> envæ¥çï¼éè¦é 置好ç¯å¢åéå¦å ï¼</span></span> 3<span class="line"></span> 4<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">å®è£ 好é»è®¤çæ¯ï¼</span></span> 5<span class="line"><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">set</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> GOPROXY="https://proxy.golang.org,direct"</span></span> 6<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">ä¿®æ¹ä»£ç忝</span></span> 7<span class="line"><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">set</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> GOPROXY=https://goproxy.cn,direct</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><strong>忣ä¸ç®¡ä»é»è®¤çæ¯å¥ï¼æ¹å°±å®äºäºï¼ï¼ï¼</strong></p><p><strong>以ä¸å°±æ¯ç¼è¯åéè¦çåå¤ å®è£ 好5ä¸ªè½¯ä»¶ï¼æ¹ä¸ä¸ä»£ç ..ä¸é¾å§(ภ'Ï'ภ)</strong></p><h3 id="_1-3-ç¼è¯å端ååå¤" tabindex="-1"><a class="header-anchor" href="#_1-3-ç¼è¯å端ååå¤"><span>1.3 ç¼è¯å端ååå¤</span></a></h3><p><strong>ç¼è¯åæä»¬ççææ¡£æä¹ç¼è¯</strong>ï¼<a href="https://github.com/AlistGo/alist/blob/main/CONTRIBUTING.md" target="_blank" rel="noopener noreferrer">https://github.com/AlistGo/alist/blob/main/CONTRIBUTING.md</a></p><figure><img src="`+u+'" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure><p>æä»¬éè¦ç¼è¯åè¯å®æ¯è¦å å éä¸ä¸<strong>å端</strong>å<strong>å端</strong>ç代ç ï¼cloneï¼</p><p>æ§è¡å¾ä¸ç两è¡å½ä»¤å¨æä»¬å®è£ ç <strong>git</strong> ç»ç«¯éé¢</p><figure><img src="'+c+`" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure><p>ä½ å éå°ä»»æå°æ¹é½è¡å»ºè®®æ¾å°ä¸ä¸ªæä»¶å¤¹éé¢å»,è¿æ ·æä»¬ä¿®æ¹çæ¶å乿¹ä¾¿</p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" data-title="bash" style="--shiki-light:#383A42;--shiki-dark:#abb2bf;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#282c34;"><pre class="shiki shiki-themes one-light one-dark-pro vp-code"><code><span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">alist.gitæ¯å端ï¼alist-web.gitæ¯å端</span></span> 8<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">
8æ 代ç</span></span> 9<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">git</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> clone</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> https://github.com/AlistGo/alist.git</span></span> 10<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">git</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> clone</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> --recurse-submodules</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> https://github.com/AlistGo/alist-web.git</span></span> 11<span class="line"></span> 12<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">代ç</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> -</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> ï¼å¤§ç½æä¾-å¯è½æå¡ä¸æäºï¼</span></span> 13<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">git</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> clone</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> https://hub.cooluc.com/AlistGo/alist.git</span></span> 14<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">git</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> clone</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> --recurse-submodules</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> https://hub.cooluc.com/AlistGo/alist-web.git</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>åå端 æå/å é(clone)好äº</p><p>使¯æä»¬æå/å é(clone)䏿¥çå端éé¢åªæä¸ä¸ª é»è®¤çè±æè¯è¨æä»¶</p><p>æä»¬è¿éè¦å»ä¸è½½ä¸ä¸ªå¸¦ä¸æçè¯è¨æä»¶</p><h3 id="_1-4-æå¨ä¸è½½è¯è¨å å°å" tabindex="-1"><a class="header-anchor" href="#_1-4-æå¨ä¸è½½è¯è¨å å°å"><span>1.4 æå¨ä¸è½½è¯è¨å å°å</span></a></h3><p><strong><a href="https://crowdin.com/project/alist/zh-CN" target="_blank" rel="noopener noreferrer">https://crowdin.com/project/alist/zh-CN</a></strong></p><p>è¿éæ¯æå¨ä¸è½½ï¼è¿æå½ä»¤èªå¨ä¸çåªä¸ªææ²¡ç ç©¶æç½...害,å¡äºå¥½å 天äºè¿ä¸ªè¯è¨æä»¶..</p><figure><img src="`+b+'" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure><figure><img src="'+m+'" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure><h3 id="_1-5-ç´æ¥ä¸è½½è¯è¨å ç´é¾" tabindex="-1"><a class="header-anchor" href="#_1-5-ç´æ¥ä¸è½½è¯è¨å ç´é¾"><span>1.5 ç´æ¥ä¸è½½è¯è¨å ç´é¾ï¼</span></a></h3><p><strong><a href="https://crowdin.com/backend/download/project/alist/zh-CN.zip" target="_blank" rel="noopener noreferrer">https://crowdin.com/backend/download/project/alist/zh-CN.zip</a></strong></p><p>ä¸é¢çè¯è¨æä»¶æ¾è¿å»åæä»¬å»ç»ç«¯éé¢è¾å ¥å½ä»¤ï¼</p><div class="language-vue line-numbers-mode" data-highlighter="shiki" data-ext="vue" data-title="vue" style="--shiki-light:#383A42;--shiki-dark:#abb2bf;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#282c34;"><pre class="shiki shiki-themes one-light one-dark-pro vp-code"><code><span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">node ./scripts/i18n.mjs</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>æ§è¡å®æ¯è¯è¨éé¢ä¼åºç°ä¸ä¸ª <strong>entry.ts</strong> çæä»¶ï¼è¿æ ·æä»¬å°±å¯ä»¥ç¨äº</p><figure><img src="'+y+'" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure><p>以ä¸è½¯ä»¶å®è£ å¹¶ä¸é 置好ç¯å¢åéäºï¼Go 代ç设置好äºï¼è¯è¨å æä»¶ä¸è½½å¥½äº ï¼æä»¬ç¼è¯ååå¤å·¥ä½å°±å¯ä»¥äº</p><h2 id="_2-ç¼è¯å端" tabindex="-1"><a class="header-anchor" href="#_2-ç¼è¯å端"><span>2.ç¼è¯å端</span></a></h2><p>é¦å CDè¿å ¥ <strong><code>alist-web</code></strong> å端æä»¶å¤¹å ï¼</p><p>ç¶åè¾å ¥ <strong>pnpm install</strong> å° <strong>node_modules</strong> ï¼å 管çå·¥å ·ä¸è½½å®è£ çå çæä»¶å¤¹ï¼ï¼ä¸è½½ä¸æ¥ï¼</p><p>å«é®é®ä»ä¹ä¸ç¨ <strong>npm</strong> è¦ç¨ <strong>pnpm</strong> ...é®å°±æ¯ç¨ <strong>pnpm</strong> å°±å®äº...è¿ä¸ªä¹æ¯è¡çæè®.. <strong>%>_<% <sup>ï¼è¸©å2å·ï¼</sup></strong></p><p>ä¸é´èªå·±æ¹æºç çè¿ç¨å°±ä¸æ¼ç¤ºäºï¼èªå·±æ³æä¹æ¹å°±ææä¹æ¹</p><p>æ¹å®äº æ§è¡å¦ä¸å½ä»¤å°å端æä»¶è¿è¡ç¼è¯ï¼ <strong><code>pnpm build</code></strong> <strong><code>npm run build</code></strong> è¿ä¸¤ä¸ªäºéä¸é½è¡</p>',41)),s("p",null,[i[5]||(i[5]=n("ç¼è¯å¥½åï¼ä¼çå°ä¸ä¸ªå« ")),a(e,{text:"dist",type:"info"}),i[6]||(i[6]=n(" çæä»¶å¤¹ï¼è¿ä¸ªå°±æ¯æä»¬ç¼è¯å¥½çå 容ä¸ä¼æä»¬ç§»å¨å°å端éé¢å»"))]),i[17]||(i[17]=l('<figure><img src="'+A+'" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure><h3 id="_2-1-ç¼è¯å端æé´å¯è½ä¼éå°çé®é¢" tabindex="-1"><a class="header-anchor" href="#_2-1-ç¼è¯å端æé´å¯è½ä¼éå°çé®é¢"><span>2.1 ç¼è¯å端æé´å¯è½ä¼éå°çé®é¢</span></a></h3><h4 id="è¾å ¥pnpm-install伿¥é-ä¸å·å" tabindex="-1"><a class="header-anchor" href="#è¾å ¥pnpm-install伿¥é-ä¸å·å"><span>è¾å ¥<code>pnpm install</code>伿¥é <sup>(ä¸å·å)</sup></span></a></h4><h4 id="å¦æä½ è¾å ¥-pnpm-install-åºç°å¦ä¸å¾ä¸çé误" tabindex="-1">
14<a class="header-anchor" href="#å¦æä½ è¾å ¥-pnpm-install-åºç°å¦ä¸å¾ä¸çé误"><span>å¦æä½ è¾å ¥ pnpm install åºç°å¦ä¸å¾ä¸çé误</span></a></h4><figure><img src="'+F+'" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure><h4 id="ä¸è¿°æ¥éä¸çè§£å³æ¹æ¡" tabindex="-1"><a class="header-anchor" href="#ä¸è¿°æ¥éä¸çè§£å³æ¹æ¡"><span>ä¸è¿°æ¥éä¸çè§£å³æ¹æ¡</span></a></h4><figure><img src="'+v+'" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure><p>å¦ææ²¡åºç°ä¸è¿°çéè¯¯è½æ£å¸¸ç¼è¯ 忽ç¥å³å¯ï¼</p><h4 id="è¾å ¥-pnpm-install-伿¥é-åå·å" tabindex="-1"><a class="header-anchor" href="#è¾å ¥-pnpm-install-伿¥é-åå·å"><span>è¾å ¥ pnpm install 伿¥é (åå·å)</span></a></h4><h4 id="å¦æä½ è¾å ¥-pnpm-install-åºç°å¦ä¸å¾ä¸çé误-1" tabindex="-1"><a class="header-anchor" href="#å¦æä½ è¾å ¥-pnpm-install-åºç°å¦ä¸å¾ä¸çé误-1"><span>å¦æä½ è¾å ¥ pnpm install åºç°å¦ä¸å¾ä¸çé误</span></a></h4><figure><img src="'+f+'" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure><p><strong>ä¸è¿°é®é¢çé®é¢æå¨ä»¥åè§£å³æ¹æ¡</strong></p><p>é®é¢æå¨</p><ul><li><p>ççä½ å端ç <strong><code> solid-router</code></strong> è¿ä¸ªæä»¶å¤¹é颿¯ä¸æ¯ç©ºç..估计æ¯ç©ºç</p></li><li><p>ä¸è½½åç«¯çæ¶åæ²¡æå¸¦ <code>--recurse-submodules</code> 忰坼è´éå±çæä»¶æ²¡æä¸è½½ä¸æ¥</p></li></ul><p>è§£å³æ¹æ¡</p><ul><li>ä¸è½½åç«¯å¸¦ä¸ <code>--recurse-submodules</code> åæ°å»ä¸è½½</li></ul><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" data-title="bash" style="--shiki-light:#383A42;--shiki-dark:#abb2bf;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#282c34;"><pre class="shiki shiki-themes one-light one-dark-pro vp-code"><code><span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">git</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> clone</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> --recurse-submodules</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> https://github.com/AlistGo/alist-web.git</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h2 id="_3-ç¼è¯å端" tabindex="-1"><a class="header-anchor" href="#_3-ç¼è¯å端"><span>3.ç¼è¯å端</span></a></h2><ol><li>å¨å端ç¼è¯å¥½åæä»¬å°±ä¼çå°ä¸ä¸ª <strong><code>"dist"</code></strong> çæä»¶å¤¹</li><li>æä»¬ç§»å¨ä¸ä¸æ <strong><code>"dist"</code></strong> ç®å½ç§»å¨å°çå端ç <strong><code>"public"</code></strong> ç®å½éé¢å»å³å¯</li><li>è½ç¶éé¢å·²ç»æäºä¸ä¸ª <strong>"dist"</strong> æä»¶å¤¹ï¼ä¸ç¨ç®¡ç´æ¥è¦ç</li></ol><figure><img src="'+C+`" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure><p>å°ç¼è¯å¥½çå端移æä»¶å¨å°å端éé¢å»ï¼åå¤ç¼è¯</p><p><strong>"dist"</strong> ç®å½ç§»å¨å° <strong><code>"public"</code></strong> å»ä¹åï¼æä»¬å°±å¯ä»¥ç¼è¯äºï¼å¦æææ¹ä»£ç çéæ±èªå·±æ¹å®åç¼è¯ï¼</p><div class="language-bash line-numbers-mode has-collapsed-lines collapsed" data-highlighter="shiki" data-ext="bash" data-title="bash" style="--vp-collapsed-lines:15;--shiki-light:#383A42;--shiki-dark:#abb2bf;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#282c34;"><pre class="shiki shiki-themes one-light one-dark-pro vp-code"><code><span class="line"><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">appName</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"alist"</span></span> 15<span class="line"><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">builtAt</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"$(</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">date</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> +'%F %T %z')"</span></span> 16<span class="line"><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">goVersion</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">$(</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">go</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> version</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> | </span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">sed</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 's/go version //'</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 17<span class="line"><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">gitAuthor</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">$(</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">git</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> show</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -s</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> --format=</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">'format:%aN <%ae>'</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> HEAD</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 18<span class="line"><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">gitCommit</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">$(</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">git</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> log</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> --pretty=format:</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"%h"</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -1</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 19<span class="line"><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">version</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">$(</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">git</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> describe</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> --long</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> --tags</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> --dirty</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;">
19 --always</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 20<span class="line"><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">webVersion</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">$(</span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">wget</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -qO-</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -t1</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -T2</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> "https://api.github.com/repos/AlistGo/alist-web/releases/latest"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> | </span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">grep</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> "tag_name"</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> | </span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">head</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -n</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> 1</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> | </span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">awk</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -F</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> ":"</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> '{print $2}'</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;"> | </span><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">sed</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> 's/\\"//g;s/,//g;s/ //g'</span><span style="--shiki-light:#383A42;--shiki-dark:#ABB2BF;">)</span></span> 21<span class="line"><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">ldflags</span><span style="--shiki-light:#383A42;--shiki-dark:#56B6C2;">=</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"</span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">\\</span></span> 22<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">-w -s </span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">\\</span></span> 23<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">-X 'github.com/alist-org/alist/v3/internal/conf.BuiltAt=</span><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">$builtAt</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">' </span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">\\</span></span> 24<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">-X 'github.com/alist-org/alist/v3/internal/conf.GoVersion=</span><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">$goVersion</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">' </span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">\\</span></span> 25<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">-X 'github.com/alist-org/alist/v3/internal/conf.GitAuthor=</span><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">$gitAuthor</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">' </span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">\\</span></span> 26<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">-X 'github.com/alist-org/alist/v3/internal/conf.GitCommit=</span><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">$gitCommit</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">' </span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">\\</span></span> 27<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">-X 'github.com/alist-org/alist/v3/internal/conf.Version=</span><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">$version</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">' </span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">\\</span></span> 28<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">-X 'github.com/alist-org/alist/v3/internal/conf.WebVersion=</span><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">$webVersion</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">' </span><span style="--shiki-light:#0184BC;--shiki-dark:#56B6C2;">\\</span></span> 29<span class="line"><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"</span></span> 30<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#61AFEF;">go</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> build</span><span style="--shiki-light:#986801;--shiki-dark:#D19A66;"> -ldflags=</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"</span><span style="--shiki-light:#E45649;--shiki-dark:#E06C75;">$ldflags</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;">"</span><span style="--shiki-light:#50A14F;--shiki-dark:#98C379;"> .</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div><div class="collapsed-lines"></div></div><p>æäººçå°è¿ä¹ä¸å¤§å¨è¿æä¹æ§è¡...æä»¬å¯ä»¥å建ä¸ä¸ª " <strong>.sh</strong>" åç¼çæä»¶ï¼ç¶åæè¿ä¸å¨å¤å¶ç²è´´è¿å»å³å¯</p><p>âªå¦ææèªå·±å建ç <strong>.sh</strong>
30 åç¼ æä»¶ä¸è½ç¨æä»¬å¯ä»¥å¤å¶ç²è´´ä¸ä¸ªå·²ç»æçç¶åæéé¢çå
å®¹æ¿æ¢äºå³å¯</p><h3 id="_3-1-æ¼ç¤ºå建-sh" tabindex="-1"><a class="header-anchor" href="#_3-1-æ¼ç¤ºå建-sh"><span>3.1 <a href="#_3-1-%E6%BC%94%E7%A4%BA%E5%88%9B%E5%BB%BA-sh">æ¼ç¤ºå建.sh</a></span></a></h3><figure><img src="`+B+'" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure><p>æä»¬å建好äºï¼<strong>å¯ä»¥ç´æ¥å廿§è¡</strong>ï¼æè
å¨å½ä»¤è¡è¿è¡ è¿ä¸ªæä»¬ååä¿®æ¹ç <strong><a href="http://run.sh" target="_blank" rel="noopener noreferrer">run.sh</a></strong> æä»¶ä¹è¡</p>',28)),s("p",null,[i[7]||(i[7]=n("è¿è¡å¥½äº ")),i[8]||(i[8]=s("strong",null,"ï¼å¯è½å¤§æ¦éè¦1-2åéï¼",-1)),i[9]||(i[9]=n(" ç®å½éé¢ä¼åºç°ä¸ä¸ª")),a(e,{text:"alist.exe",type:"info"}),i[10]||(i[10]=n(" çæä»¶ è¿å°±æ¯ç¼è¯å¥½äº"))]),i[18]||(i[18]=s("p",null,"æè¿éçWindowsèªç¶æ¯.exeåç¼çï¼å¦ææ¯Linuxï¼é£è¯å®åºç°çæ¯äºè¿å¶æä»¶",-1)),i[19]||(i[19]=s("figure",null,[s("img",{src:w,alt:"",tabindex:"0",loading:"lazy"}),s("figcaption")],-1)),i[20]||(i[20]=s("p",null,[n("âªå¥½äºï¼ä»¥ä¸æç¨å°±æ¯æ¬æ¬¡ç¼è¯çæç¨å¦... æ³æè
¾çèªå·±æè
¾å§...ææ³è¯è¯ç å¯ä»¥è¯è¯ç..."),s("strong",null,"(â¾â¡â)")],-1)),i[21]||(i[21]=s("hr",null,null,-1)),a(p,{name:"Linux ç¼è¯æç¨",desc:"",url:"./linux.md",logo:"/img/start/linux.svg",repo:"",preview:""}),a(p,{name:"GitHub Actions",desc:"",url:"./github.md",logo:"/img/start/github.svg",repo:"",preview:""})])}const z=d(E,[["render",x],["__file","win.html.vue"]]),N=JSON.parse('{"path":"/index/build/win.html","title":"Windowsç¼è¯æç¨","lang":"zh-CN","frontmatter":{"title":"Windowsç¼è¯æç¨","icon":"fa-brands fa-windows","order":110,"author":"å®ç¨³","date":"2023-01-01T00:00:00.000Z","category":["ä½¿ç¨æå"],"tag":["AListéæ¹æç¨","èªå·±ç¼è¯","ç¼è¯AListæç¨","Build","Windows"],"sticky":true,"star":true,"headerDepth":6,"collapsible":false,"description":"æçå°ä¼ä¼´æ³çèªå·±ç¼è¯ä¸ä¸ Alist ä¸ç®¡æ¯åºäºèªå·±æ³æè
¾è¿æ¯èªå·±æ³æ¹æ¹æºç å©.大家é½å¯ä»¥ç¼è¯~ (à¹â¢Ìâ â¢) Windowsçæ¬ç¼è¯æç¨ 1.ç¼è¯ååå¤ 1.1 ç¼è¯è§é¢çæç¨","head":[["meta",{"property":"og:url","content":"https://anwen-anyi/anwen-anyi.github.io/index/build/win.html"}],["meta",{"property":"og:site_name","content":"å®å®ç¨³ç¨³"}],["meta",{"property":"og:title","content":"Windowsç¼è¯æç¨"}],["meta",{"property":"og:description","content":"æçå°ä¼ä¼´æ³çèªå·±ç¼è¯ä¸ä¸ Alist ä¸ç®¡æ¯åºäºèªå·±æ³æè
¾è¿æ¯èªå·±æ³æ¹æ¹æºç å©.大家é½å¯ä»¥ç¼è¯~ (à¹â¢Ìâ â¢) Windowsçæ¬ç¼è¯æç¨ 1.ç¼è¯ååå¤ 1.1 ç¼è¯è§é¢çæç¨"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:image","content":"https://anwen-anyi/anwen-anyi.github.io/img/build/build02.jpeg"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-10-26T06:43:42.000Z"}],["meta",{"property":"article:author","content":"å®ç¨³"}],["meta",{"property":"article:tag","content":"AListéæ¹æç¨"}],["meta",{"property":"article:tag","content":"èªå·±ç¼è¯"}],["meta",{"property":"article:tag","content":"ç¼è¯AListæç¨"}],["meta",{"property":"article:tag","content":"Build"}],["meta",{"property":"article:tag","content":"Windows"}],["meta",{"property":"article:published_time","content":"2023-01-01T00:00:00.000Z"}],["meta",{"property":"article:modified_time","content":"2024-10-26T06:43:42.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Windowsç¼è¯æç¨\\",\\"image\\":[\\"https://anwen-anyi/anwen-anyi.github.io/img/build/build02.jpeg\\",\\"https://anwen-anyi/anwen-anyi.github.io/img/build/build01.jpeg\\",\\"https://anwen-anyi/anwen-anyi.github.io/img/build/build03.gif\\",\\"https://anwen-anyi/anwen-anyi.github.io/img/build/build04.gif\\",\\"https://anwen-anyi/anwen-anyi.github.io/img/build/build05.gif\\",\\"https://anwen-anyi/anwen-anyi.github.io/img/build/build06.png\\",\\"https://anwen-anyi/anwen-anyi.github.io/img/build/build07.png\\",\\"https://anwen-anyi/anwen-anyi.github.io/img/build/build08.png\\",\\"https://anwen-anyi/anwen-anyi.github.io/img/build/build09.png\\",\\"https://anwen-anyi/anwen-anyi.github.io/img/build/build10.gif\\",\\"https://anwen-anyi/anwen-anyi.github.io/img/build/build11.gif\\",\\"https://anwen-anyi/anwen-anyi.github.io/img/build/build12.gif\\"],\\"datePublished\\":\\"2023-01-01T00:00:00.000Z\\",\\"dateModified\\":\\"2024-10-26T06:43:42.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"å®ç¨³\\"}]}"]]},"headers":[{"level":2,"title":"Windowsçæ¬ç¼è¯æç¨","slug":"windowsçæ¬ç¼è¯æç¨","link":"#windowsçæ¬ç¼è¯æç¨","children":[]},{"level":2,"title":"1.ç¼è¯ååå¤","slug":"_1-ç¼è¯ååå¤","link":"#_1-ç¼è¯ååå¤","children":[{"level":3,"title":"1.1 ç¼è¯è§é¢çæç¨","slug":"_1-1-ç¼è¯è§é¢çæç¨","link":"#_1-1-ç¼è¯è§é¢çæç¨","children":[]},{"level":3,"title":"1.2 ç¼è¯ä¹åçåææ¡ä»¶","slug":"_1-2-ç¼è¯ä¹åçåææ¡ä»¶","link":"#_1-2-ç¼è¯ä¹åçåææ¡ä»¶","children":[]},{"level":3,"title":"1.3 ç¼è¯å端ååå¤","slug":"_1-3-ç¼è¯å端ååå¤","link":"#_1-3-ç¼è¯å端ååå¤","children":[]},{"level":3,"title":"1.4 æå¨ä¸è½½è¯è¨å
å°å","slug":"_1-4-æå¨ä¸è½½è¯è¨å
å°å","link":"#_1-4-æå¨ä¸è½½è¯è¨å
å°å","children":[]},{"level":3,"title":"1.5 ç´æ¥ä¸è½½è¯è¨å
ç´é¾ï¼","slug":"_1-5-ç´æ¥ä¸è½½è¯è¨å
ç´é¾","link":"#_1-5-ç´æ¥ä¸è½½è¯è¨å
ç´é¾","children":[]}]},{"level":2,"title":"2.ç¼è¯å端","slug":"_2-ç¼è¯å端","link":"#_2-ç¼è¯å端","children":[{"level":3,"title":"2.1 ç¼è¯å端æé´å¯è½ä¼éå°çé®é¢","slug":"_2-1-ç¼è¯å端æé´å¯è½ä¼éå°çé®é¢","link":"#_2-1-ç¼è¯å端æé´å¯è½ä¼éå°çé®é¢","children":[{"level":4,"title":"è¾å
¥pnpm install伿¥é (ä¸å·å)","slug":"è¾å
¥pnpm-install伿¥é-ä¸å·å","link":"#è¾å
¥pnpm-install伿¥é-ä¸å·å","children":[]},{"level":4,"title":"å¦æä½ è¾å
¥ pnpm install åºç°å¦ä¸å¾ä¸çé误","slug":"å¦æä½ è¾å
¥-pnpm-install-åºç°å¦ä¸å¾ä¸çé误","link":"#妿
30ä½ è¾å
¥-pnpm-install-åºç°å¦ä¸å¾ä¸çé误","children":[]},{"level":4,"title":"ä¸è¿°æ¥éä¸çè§£å³æ¹æ¡","slug":"ä¸è¿°æ¥éä¸çè§£å³æ¹æ¡","link":"#ä¸è¿°æ¥éä¸çè§£å³æ¹æ¡","children":[]},{"level":4,"title":"è¾å
¥ pnpm install 伿¥é (åå·å)","slug":"è¾å
¥-pnpm-install-伿¥é-åå·å","link":"#è¾å
¥-pnpm-install-伿¥é-åå·å","children":[]},{"level":4,"title":"å¦æä½ è¾å
¥ pnpm install åºç°å¦ä¸å¾ä¸çé误","slug":"å¦æä½ è¾å
¥-pnpm-install-åºç°å¦ä¸å¾ä¸çé误-1","link":"#å¦æä½ è¾å
¥-pnpm-install-åºç°å¦ä¸å¾ä¸çé误-1","children":[]}]}]},{"level":2,"title":"3.ç¼è¯å端","slug":"_3-ç¼è¯å端","link":"#_3-ç¼è¯å端","children":[{"level":3,"title":"3.1 æ¼ç¤ºå建.sh","slug":"_3-1-æ¼ç¤ºå建-sh","link":"#_3-1-æ¼ç¤ºå建-sh","children":[]}]}],"git":{"createdTime":1680678324000,"updatedTime":1729925022000,"contributors":[{"name":"AnWen-anyi","username":"AnWen-anyi","email":"[email protected]","commits":12,"url":"https://github.com/AnWen-anyi"}]},"readingTime":{"minutes":6.56,"words":1969},"filePathRelative":"index/build/win.md","localizedDate":"2023å¹´1æ1æ¥","autoDesc":true}');export{z as comp,N as data};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.