bunをwindowsで使う(WSL bash越しに)
ジグジグしてきた
関連記事
bunをwindowsで使う(docker越しに): ポッドマンが倒せない(9)
bunのWindows版が開発中?
一時期話題になった高速肉まんのbun。
nodeが高速に動くとかなんとか。
それならdenoがあるやんと思われがちだが、
最大に異なる点はnpmが使える点。
それに動揺したのか方針転換までしてる。
それはそれで注視するとして、
まずはbunでnpm動かして、
もっさりパッケージを高速化したい。
そして、
( ̄ー ̄) windowsでも使いたいなぁ
ということで方法を調べたが。
どこにもなかった。
('ω')
zig推しのmattnがぼやくレベルでなかった
(゜-゜) wsl越しに使えばいけるか?
windowsからbash経由でlinuxコマンドは叩けるので、
その方向でやってみよう。
ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪
------------------- ↓ 本題はここから ↓-------------------
事前準備
wsl使えるようにしておく。
デフォルトのゲストOS及びユーザーは以下のように確認する。
wsl -l -v
NAME STATE VERSION
* Ubuntu-20.04 Running 2
bash -c id
uid=1000(dozo) gid=1000(dozo) ・・・
上記で確認したOS, userでwslにアクセス。
wsl
# wsl -d [distro] -u [user] (OSやユーザー指定する時)
以下はubuntu, bashで実行してるものとする。
unzipが必要なので、
先に入れておく
sudo apt install unzip
bunインストール
bunのインストールを行う。
インストールと言ってもバイナリが.bun配下に置かれるだけなので、
パスを通しておしまい。
curl https://bun.sh/install | bash
nano .bashrc
.bashrcに以下を追加
export BUN_INSTALL="$HOME/.bun"
export PATH="$BUN_INSTALL/bin:$PATH"
sourceで変更を反映
source .bashrc
bun --version
0.1.10
windows用bash越しにアクセス
windowsで作業用の適当なディレクトリを作成
bash越しのpathを確認する
mkdir work
cd work
wsl -- pwd
/c/Users/dozo/work
bunのpathが通っているかを確認する
(コマンドがスカスカに見えるがあってます)
wsl -- bash -ic "bun --version"
0.1.10
バージョン番号がでてる
(・∀・) やったか!
npmパッケージインストール
試しにnpmパッケージを入れてみる。
パッと思いついたのはviteだったので入れてみよう。
package.jsonは別途必要なので、
それはnpmコマンドで。
npm init -f
wsl -- bash -ic "bun install vite"
bun add v0.1.10
installed vite@3.0.9 with binaries:
- vite
14 packages installed [1.74s]
(;・∀・) 動いてるっぽい
マジか・・・。
------------------- ↓ 後書はここから ↓-------------------
同じことやった人がいるな。
解決には至らなかったようだが。
windowsのbash.exeを使う
wslコマンドだとコマンドが長くなりがちなので、
windowsのbash.exe経由でやってみる。
bash -ic "bun install http-server"
bun add v0.1.10
installed http-server@14.1.1 with binaries:
- http-server
39 packages installed [3.70s]
Removed: 1
('ω') いけそうだな
デフォルトOSとデフォルトユーザー固定になるけど、
使い勝手はこっちの方が上か。
WSLの.bashrc通らない問題
今回一番苦労したのはインストールとかではなく、
WindowsからLinuxコマンドへのパスを通す手法だった。
普通にやるなら以下のコマンドが通るはずだったんだが、
wsl -- bun --version
/bin/bash: bun: command not found
色々試したががbashをインタラクティブモードにしないとうまく動かなかった。
wsl -- bash -ic "bun --version"
0.1.10
理由?
さっぱりわからん。
Discussion