블로그를 Render로 옮긴 이후, 지난 2년 동안 줄곧 Bun을 써왔다. 티스토리에 있던 글을 전부 마크다운으로 옮긴 후, 블로그 작성에 쓰는 유틸리티에 Bun을 쓰도록 한 것이 24년 5월의 일이니, 딱 2년 된 셈이다.
Bun을 쓰게 된 계기는 단순했다. 블로그 배포 플랫폼인 Render가 기본 패키지 매니저로 Bun을 사용했기 때문이다. 처음 보는 이름에 호기심이 생겨 Bun에 대해 찾아보았고, 곧바로 "어머, 이건 꼭 써야 해!"를 읊조릴 수밖에 없었다.
그도 그럴 것이, Bun은 말 그대로 '올인원(All-in-one)'이었으니까.
- 단일 실행 파일 하나로 JavaScript/TypeScript 런타임 해결
- 강력하고 빠른 패키지 매니저 기능
- 자체 번들러와 업데이트 시스템
그 당시에는 뭘 해도 Node.js를 벗어날 수 없다는 점에 조금씩 피로감을 느끼고 있었기에, 모든 걸 실행 파일 하나로 끝내는 Bun은 정말이지 거부할 수 없는 매력적인 선택지였다.
그렇게 2년 정도 Bun에 만족하며 사용해 왔지만, Bun에 불필요한 기능이 너무 많아지는 게 아니냐는 생각이 최근 들어 점차 머릿속에 자리 잡기 시작했다.
Bun.WebView, Bun.cron() 같은, 개인 블로그 운영에 결코 쓸 일이 없는 기능들이 하나둘 추가되었다. '가볍고 빠르다'가 Bun의 장점 중 하나라고 생각하고 있었는데, 어느새 Bun의 실행 파일 용량이 Node.js의 것보다 더 커져 있더라고.
Bun 사용을 완전히 그만두게 된 결정적인 계기는 다름 아닌 블로그 생성 도구인 Hugo에서 왔다.
최근 Hugo가 업데이트되면서 보안을 위해 Node.js의 특정 플래그를 요구하게 되었는데, Bun에는 그런 플래그가 없어서 Bun이 bun install을 통해 설치한 도구들을 Hugo가 쓰지 못하게 되었다.
그렇지 않아도 Bun 사용을 그만둘까 말까 고민하고 있었는데, Hugo가 '아, 잘 모르겠고 Node.js 갖고 오세요'라고 말하자, 결심을 굳힐 수 있었다.
Bun을 대체할 대안을 찾기 위해 다시 인터넷을 뒤졌다.
- Deno: 상당히 매력적이지만, Node.js와의 호환성 문제가 아직 남아있다고 한다.
- Node.js + pnpm: 가장 안정적이다.
패키지 매니저로는 pnpm을 골랐는데, Yarn은 v1와 v2 사이의 괴리가 너무 커서 부담스러웠고, npm은 더 이상 쓰기 싫어서였다. pnpm이라는 글자를 입력하기 좀 불편한 감이 없잖아 있긴 하다만…
결국 내 환경에서 Bun을 완전히 삭제하는 것으로 Bun과의 인연을 마쳤다.
조금 아쉽긴 해도, de facto인 Node.js를 쓰고 있으니 환경이 바뀌거나 무슨 일이 생겨도 큰 문제는 없을 거란 게 좋다.


![[퍼옴] 무예도보통지 시리즈](/b/chit-chat/muyedobotongji/001.a433900056472c6f078cfc9b2bb32026.webp)

