Skip to content
Go back

ปัญหาระหว่าง Bun กับ Sharp

Edited  at  07:33 PM

By : Pickyzz | 1 min read

Cover image for blog post "ปัญหาระหว่าง Bun กับ Sharp" by Pickyzz

อัพเดทล่าสุด 20/01/2024

ล่าสุดอัพเดท Bun มาเป็นเวอร์ชั่น 1.0.24 ก็พบว่าแก้ปัญหาการติดตั้ง dep ย่อยแล้ว ไม่ต้องพึ่งพา trustedDependencies แล้ว (กราบ~)

01.png

02.png

ลบออกแล้ว 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)
....
 + react@18.2.0
 + react-dom@18.2.0
 + reading-time@1.5.0
 + rehype-external-links@3.0.0
 + remark-collapse@0.1.2
 + remark-toc@9.0.0
 + satori@0.10.9
 + tailwindcss@3.3.3
 + ts-node@10.9.1
 + typescript@5.2.2
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

ก็ผ่านเช่นเดียวกัน

03.png

สรุป

ปัญหาน่าจะได้รับการแก้ไขแล้ว แต่ส่วนตัวมองว่าเป็นการแก้ไขแบบแก้ขัดให้ใช้งานได้ในระดับหนึ่งก่อน ซึ่งเมื่อเปรียบเทียบกับ runtime ตัวอื่นๆ ที่ไม่ต้องแก้ไขปัญหาด้วยการเพิ่ม trustedDependencies ในไฟล์ package.json เลย (ในอนาคตอาจจะได้รับการแก้ไขตรงนี้ตามมา) แต่ก็ถือว่าคอมมูนิตี้ของ bun นั้นเติบโตได้เร็วอยู่ไม่น้อย

ในอัพเดทล่าสุดพบว่าปัญหานี้ได้รับการแก้ไขแล้ว และผมเองยังไม่พบปัญหาใดๆเพิ่มเติม จากการที่ผมใช้งานแค่ส่วนของ runtime เพื่อการ build เว็บอย่างเดียว

หวังว่าจะเป็นประโยชน์กับผู้อ่านนะครับ


Older Post
uptime 30 years of me
Later Post
2023 in review

โพสต์ที่เกี่ยวข้อง