2
0

Bunの実行可能ファイルを作ってみた

Last updated at Posted at 2023-12-07

Bunも実行可能ファイルを作ることができます。こんな感じです。

compile する
$ bun build ./hello.ts --compile

これで、hello.ts ファイルから hello という実行可能ファイルが生成できます。

--compile をつけて bun build するだけです。

ユーザーが Bun をインストールしていなくても、アプリを実行可能ファイルとして単一のファイルで配布できるわけで便利ですね。まぁ、Node.jsでも v19.7 から実装されていますが、ランタイム一体のアプリという感じでしょうか。

出力ファイル名を指定して compile する
$ bun build ./hello.js --compile --outfile myhello

--outfile <ファイル名> をつけると、hello.ts ファイルから myhello といった名前を指定して実行可能ファイルが生成できます。

前後しますが、今回はファイルの中身をこれにします。

hello.ts や hello.js
console.log('Hello Bun')

本家の Document はここにあります。

Bun > Executables

リリースノートによれば、--minify オプションをつけることで、アプリの起動パフォーマンスを向上させることもできるようです。

今回はサンプルサイズが小さかったので比較はできていませんが、--minify 実行サンプルを置いておきます。
https://bun.sh/blog/bun-v0.6.0#standalone-executables

--minifyをつけて compile する
$ bun build ./hello.js --minify --compile --outfile minihello

注意したいのは、別のディレクトリやマシンへ、たとえば cp や rsync などで属性コピーもすれば大丈夫ですが、メールやFTP、WinSCPなどで配布したなどしたときなどに、もし実行権限をコピーしていなければ実行権限追加が必要です。

配布後、もし実行権限が無ければ実行権限を追加する
$ chmod u+x hello

実行は「./」をつけて次のようにします。

実行する
$ ./hello 
結果
$ Hello Bun

動きましたね。

最近 Qiita に書いた Bun 関連の記事10選

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0