nand2tetris software toolsを使う
コンピュータシステムの理論と実装を読むにあたって、 nand2tetris software tools 1 を準備する必要があった時のメモです。
環境
M1 - macOS Montereyでのセットアップになります。
javaが必要ですが、最近使っているMac miniには入っていなかったのでインストールします。
バージョン管理する予定はないですが、とりあえずanyenv
でjenv
2 を入れます。
anyenv
のバージョンは以下の通りです。
javaを入れる。
jenvを入れる。
openjdkを入れる
jenv
は他の*env
系と違ってinstallコマンドはありません。
brew
等でインストールした上で、jenv add
を使用し、登録する形です。
とりあえず最新を入れます。
jenv add
jenv add PATH_TO_JVM_HOME
で登録します。
PATH_TO_JVM_HOME
はjenvのREADMEとhomebrewのページを参考にしました。
#1.2 Adding Your Java Environment | jenv | GitHub
jenv versions
javaがしっかりと追加されたことを確認します。
)
jenv global/local
あとは、他の*env
系と同様にlocalまたはglobalで使用するバージョンを指定します。
java -version
でしっかり導入できていることを確認します。
)
)
local 登録のチェックはおまけに記載します。[*1]
nand2tetris software tools
Software | From Nand to Tetris
Downloadからソフトウェアをダウンロードします。
Macユーザー向けのガイドもダウンロードすることができます。
ダウンロードしたディレクトリ内の*.sh
を確認します。
実行権限がないのでとりあえず与えます。
|
これでHardwareSimulator.sh
でシミュレータが起動します。
使いやすく
本の中やガイドではシンボリックリンクの方法が記載されていますが、思いっきり.zshrc
にPATHとして登録してしまう方法もあります。
おまけ
jenvの設定は?
homebrew
とかで直接jenv
を入れた場合は.zshrc
などにいくつか記載が必要ですが、anyenv
で入れた場合はanyenv
の設定ですべてカバーされます。
jenvを使わないでjavaを使う
jenv
を使わないで、普通にjavaを使う場合はシンボリックリンクを作るか、pathを指定してあげる必要があります。
シンボリックリンク
シンボリックリンクの作成はhomebrewのopenjdkのページに記載があります。 openjdk | Homebrew Formulae
PATH
PATHに関してはinstallした際の注釈に記載がありました。
jenv local
適当に17を入れ、jenv add
で登録します。
)
適当なディレクトリで17を指定してみます。
.java-version
が作成され、しっかりバージョンが切り替わっていることが確認できます。
)
)