![](/_astro/22ae7aafe62e4a30d904641e766a212a05abf2f642cdf543a1e59a1f45c91196-cover.DkvM3CVx.webp)
อัพเดทล่าสุด 20/01/2024
ล่าสุดอัพเดท Bun มาเป็นเวอร์ชั่น 1.0.24 ก็พบว่าแก้ปัญหาการติดตั้ง dep ย่อยแล้ว ไม่ต้องพึ่งพา trustedDependencies แล้ว (กราบ~)
![Blog Image](/_astro/b86b590ed994588b53e55f14fb3ae577c2d0b8226b5262ae4c9ce01b62027d6a.Bc58JhH4_7GABP.webp)
![Blog Image](/_astro/fb966e53831530888ca8f749ea65f9056c2c0426bc2ff49fb220cc2753aa7c00.PFUIG0qS_Z2uHvIg.webp)
ลบออกแล้ว ci ก็ยังไม่พัง เย้~
ล่าสุด Bun ออกอัพเดท v1.0.6 ซึ่งเหมือนว่าจะแก้ไขปัญหาที่ไม่ยอมติดตั้ง sub dependencies หลายๆตัวแล้ว
โดยวิธีแก้ไขปัญหาก็ใช้วิธีเดิมที่ทางคอมมูนิตี้ได้เคยออกมาแจ้งก่อนหน้านี้ คือ ให้ทำการเพิ่ม trustedDependencies เข้าไป ยกตัวอย่างผมใช้ sharp ที่ไม่ยอมติดตั้งให้
"trustedDependencies": [
"sharp"
],
ที่ผ่านมาในเวอร์ชันก่อนๆ ได้เคยลองวิธีนี้แล้ว แต่ก็เหมือนเดิม
โดยสามารถเพิ่มเข้าไปในไฟล์ package.json ได้เลย โดยที่ผมไม่ได้เพิ่ม sharp เข้าไปในส่วน dependencies แต่อย่างใด
จากนั้นทำการลบโฟลเดอร์ node_modules และ ไฟล์ bun.lockb ออก แล้วทำการ install packages ทั้งหมดใหม่เลย
ผลคือ
bun install v1.0.6 (969da088)
....
+ [email protected]
+ [email protected]
+ [email protected]
+ [email protected]
+ [email protected]
+ [email protected]
+ [email protected]
+ [email protected]
+ [email protected]
+ [email protected]
sharp: Using cached /Users/pickyzz/.npm/_libvips/libvips-8.14.5-darwin-arm64v8.tar.br
sharp: Integrity check passed for darwin-arm64v8
ผ่านแล้วโว้ย!!!!
จากนั้นผมได้ลองสั่ง build ดู จากเดิมที่เคยติดปัญหาในช่วงที่ jampack ทำการ optimize ไฟล์ output มาตลอด (ที่จากเดิมแก้ปัญหาด้วยการ cd เข้าไป install sharp เอง)
พบว่า build จนจบขั้นตอนได้ และมาถึงส่วนที่ลุ้นที่สุดคือ แก้ ci แล้ว github action จะรันผ่านไหม ก็จัดการแก้จากเดิม
- name: "Install dependencies"
- run: bun i --no-save && cd ./node_modules/sharp && bun i --no-save
+ run: bun i --no-save
ก็ผ่านเช่นเดียวกัน
![Blog Image](/_astro/c1467d441502fa8a1ca3add583c89a208530f7b91799a4d02b41a19e859b251b.7ASvYuK0_Z29Clhe.webp)
สรุป
ปัญหาน่าจะได้รับการแก้ไขแล้ว แต่ส่วนตัวมองว่าเป็นการแก้ไขแบบแก้ขัดให้ใช้งานได้ในระดับหนึ่งก่อน ซึ่งเมื่อเปรียบเทียบกับ runtime ตัวอื่นๆ ที่ไม่ต้องแก้ไขปัญหาด้วยการเพิ่ม trustedDependencies ในไฟล์ package.json เลย (ในอนาคตอาจจะได้รับการแก้ไขตรงนี้ตามมา) แต่ก็ถือว่าคอมมูนิตี้ของ bun นั้นเติบโตได้เร็วอยู่ไม่น้อย
ในอัพเดทล่าสุดพบว่าปัญหานี้ได้รับการแก้ไขแล้ว และผมเองยังไม่พบปัญหาใดๆเพิ่มเติม จากการที่ผมใช้งานแค่ส่วนของ runtime เพื่อการ build เว็บอย่างเดียว
หวังว่าจะเป็นประโยชน์กับผู้อ่านนะครับ