🌽
Bunのインストールで curl: (60) SSL certifica、アップグレードでMalformed_HTTP_Response
OSの違いを気にせずシェルスクリプトが書けるという
Bun Shellを試したかったのですが、WSLにインストール済みのBunが古くて
1.0.9
でした。
1.0.24
以上が必要なようです。
最新は 1.1.8
のようです。
最近のCLIは、自分自身を最新にアップデートするサブコマンドを内蔵してることが多いので
Bunにも当然あるだろうと思って、適当に試しました。
bun update
でも、これは npm update
の代わりになるものなので
Nodeのプロジェクト配下でなければ意味のないコマンドでした。
bun upgrade
が正しい。
しかし、
bun upgrade
の結果は
Bun v1.1.8 is out! You're on 1.0.9
Downloading [1/35249073] Bun upgrade failed with error: Malformed_HTTP_Response
Please upgrade manually:
curl -fsSL https://bun.sh/install | bash
プロキシのせいかなと思ったけど
Bunは HTTPS_PROXY
を読むように作られているし、定義済みでした。
指示通りに
curl -fsSL https://bun.sh/install | bash
を試した結果は
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: https://curl.se/docs/sslcerts.html
curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
error: Failed to download bun from "https://github.com/oven-sh/bun/releases/latest/download/bun-linux-x64.zip"
curlがSSL証明書に対して怒ってた。
調べると、こういう場合
証明書をいじれない立場では --insecure
オプションを付ければイイらしい。
でも
curl -fsSL --insecure https://bun.sh/install | bash
に変えても、結果は変わらず。
とりあえず install
の内容を見てみたかったので
wget https://bun.sh/install
して、ローカルにダウンロード。
この中で bun-linux-x64.zip
をダウンロードしようとしてる箇所は
134行目の
curl --fail --location --progress-bar --output "$exe.zip" "$bun_uri" ||
の部分でした。
ここを
curl --insecure --fail --location --progress-bar --output "$exe.zip" "$bun_uri" ||
と書き換えて、
cat ./install | bash
すると、今度は成功。
######################################################################## 100.0%
bun was installed successfully to ~/.bun/bin/bun
Run 'bun --help' to get started
バージョンを確認してみる。
bun --version
の結果は
1.1.8
やった!
サツキ「男の子と curl
キライ!」
サツキ「でも、お婆ちゃんちのおはぎと wget
は、と~~~っても好き!」
Discussion