テストや提出の自動化をしよう for Mac (atcoder-cli, online-judge-tools)

AtCoderのコンテストに参加する上で非常に便利なツールがあります。例えば、サンプルケースのチェックやコードの提出を自動で行ってくれるものです。

ここではatcoder-cliとonline-judge-toolsを使ってそれらができるようにするための環境構築を行います。大体はツールの開発者様が出しているガイドに従えばできるのですが、一部詰まるところがあったのでそのまとめとして記事にします。

OSはmacOS Catalina、シェルはzsh(このOSのデフォルト)です。
一応書いておきますが、以下で使うコマンドはターミナル上で入力するものです。

環境構築

atcoder-cli インストールガイドに沿って進むので、問題がなさそうな部分は全部このサイトにお任せします。
Homebrewのインストールは特にここでは説明しませんが、不安な場合はこのサイトを参考に進めてもらえばどうにかなると思います。

nvmコマンドが使えない

Node.jsをインストールした後です。nvmのコマンドが使えませんでした。自分は以下の方法で解決しました。

ターミナルで以下を入力します。

touch ~/.zshrc

Finderを開いて、command + shift + Gを押して「~」を入力。次にcommand + shift + .(ピリオド)を押すと半透明のファイルなどが出てくるはずです。その中の「.zshrc」を開いて以下を書き込んでください。

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

ターミナルでよく分からないものが出る

こんなものが出ました。

zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?

yを押すと続行できますが、ターミナルを開くたびに聞かれるのでこれを止めましょう。原因はさっき作った.zshrcなので、ターミナルで次のコマンドを入力してください。

chmod 755 /usr/local/share/zsh/site-functions
chmod 755 /usr/local/share/zsh

チュートリアルをする

一つだけ問題があります。例えばabc101/a/ディレクトリ内で

oj t

とするとサンプルケースがチェックされるはずなんですが、online-judge-toolsが認識するサンプルケースのフォルダは「test」です。
デフォルトの設定では「tests」フォルダになっていて、うまく認識されないのでターミナルで以下を入力してください

acc config default-test-dirname-format test

その他の設定は好みに合わせて変更すると快適かと思います。

終わりに

それぞれの環境で同じエラーが出るかは分かりませんが、同じところで詰まっていたらぜひ参考にしてください。

コメント