🔥

CodexでScala環境をセットアップするときにハマったこと

に公開

皆さん、Codex使ってます?といってもまだリリースから数日なので使ってない人の方が多そうですが、面白そうなのでChatGPT Proを(また)一時的にサブスクして試しに使ってみてます。

正直、o3をベースにした特別なモデルを使っているおかげか、やや「難易度の高い」実装もある程度やってくれる感じで、それでいてWebベースで全部やれるのがなかなかいいですね。細かい指示を出すには色々不便なので、そういうのはClineとかのほうが良かろうと思うものの、ややこしい実装してもらうには悪くない気がしてます。

さて、私がメインで使ってる言語はScala 3なのですが、Codexを使う上で困ったことがありました。Scalaが標準でサポートされていない……のはセットアップスクリプト独自に実行すりゃいいので、どうでもいいです。しかし、Codexは環境をセットアップするスクリプトを実行した後は、ネットワークに接続できない状態でテストなどを実行するので、sbt testを実行しようとしては初回実行時に依存関係をダウンロードしようとしてネットワークに接続できずにテストに落ちたりするのでした。

仕方ないので、以下のようにセットアップ時に強引に依存関係引っ張ってきてるんですが、もうちょっといい方法はないものでしょうか?というか、たぶんある気がするのですが(というツッコミ待ち)

curl -s "https://get.sdkman.io" | bash      # SDKMAN!のインストール
source "$HOME/.sdkman/bin/sdkman-init.sh"   # SDKMAN!の初期化(shellの再起動でも可)
sdk install sbt `cat project/build.properties | cut -d= -f2`
sbt --batch ";reload plugins; update; Test/update"

Discussion