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が作成され、しっかりバージョンが切り替わっていることが確認できます。
)
)