D言語環境構築 2020年版


はじめに

例年通り、人生最良の行動(D言語インストール)についてまとめます。

Linux・Mac

去年とあまり変わらない……。

例年通りインストールスクリプトを使用するのが簡単です。

公式実装dmd・LLVMバックエンドを利用した最適化に定評のあるldc・GCCをバックエンドとしたgdcのどれもこのインストールスクリプトでインストールできます。

さらに複数のバージョンを共存させて切り替えたり、Pythonにおけるpyenv・node.jsにおけるnvmのような使い方もできます。

アンインストールもできます。

Mac Apple M1対応

私がM1対応Macを持っていないので伝聞になってしまいますが……。
(今年に最後のIntel Macbook Airを買ってしまった負け犬)

LDC1.24.0にはexperimentalなApple Arm64対応が入っているようです。

あとは誰か人柱になるだけです。

Windows インストールスクリプト編

毎年Windowsへのインストール祭りになるこの記事……。

今年はなんと、インストールスクリプトがWindowsにも対応しました!
早速使ってみましょう。

install.shは読んで字のごとくBashが必要です。公式のインストール手順では、Git BashまたはMSYS2の使用例がありました。

Git for Windowsは割と入れている人が多いんじゃないかなと思ったので、ここではGit for Windows同梱のGit Bashを利用する方法で試してみます。

Git for Windowsをインストール

Git for Windowsはこちらから。

7-Zipをインストール

また、7-zipも必要とあるのでこちらもインストールしておきます。

7-Zipはパスを通すべし、と古事記にも書いてあるので通します。
(後から考えるに7-Zip本当に必要なのかな……)

install.shダウンロード

PowerShell.exeを使うとWindowsでもwgetできる時代になっているんですね。
公式手順通り、主役のinstall.shをゲットです。

コマンドプロンプトからinstall.sh実行

さて、公式手順通りコマンドプロンプトからinstall.shを実行してみましょう。環境変数BASHにGit Bashの実行ファイルへのパスを設定して……

エラーになりました。

install.sh: line 190: uname: command not found
install.sh: line 196: uname: command not found

ことしもやはりインストールバトルになってしまったか……。

気を取り直してGit Bashからinstall.sh実行

エラーメッセージを読む限りunameが無えよ、ということなので、Git Bashの中から実行してみます。

今度はいけた!

アクティベーション用のバッチファイルのパスは、%USERPROFILE%¥dlang¥dmd-2.094.2¥activate.batになります。

バッチファイルを実行して

ちゃんとしている気がする……。

同時にインストールされるパッケージマネージャdubも使ってみます。

動いた。
しかもちゃんと64ビット版(x86_64)になっている気がしますね。
念の為Git Bashのfileコマンドで確認したところ、ちゃんとx86_64でした。
(スクショは忘れた)

インストールスクリプト編 まとめ

Windowsでもインストールスクリプトで簡単にインストールできるようになりました!
(まあ追加ツールが多少必要ですが……)

環境にやさしくアップデートもバージョン切り替えも簡単なので、手軽にインストールして使ってみる分にはおすすめできそうですね。

(TODO: LDCとGDCも確かめる)

Windows インストーラー編

去年にDLLヘルにぶちあたってしまったmsiファイルによるインストールですが、今年はどうでしょうか。

安定のD言語くん

いつも通りインストーラーが起動します。

ここでちゃんと Install VC2010 redistributables to use it with MinGW Platform libraries を選択します。

(他の選択肢は、Visual Studioがインストールされるか、動かないか、です)

なんか不安を生じさせるダイアログが……これ去年も見たんですよね。

とりあえずインストールが完了し、スタートメニューにショートカットが現れました。
このショートカットでdmdとかにパスが通っているコマンドプロンプトが開くようです。
autoexec.batとかに追記しておくのも良さそうですね。

去年はDLLヘルでエラーが起きたが今年は……動いた!

ちゃんとx86_64のバイナリで動いているようです!

念には念を入れて確認します。

この画像の場所がPE dとなっていると64ビットの証のようです。

参考

インストーラー編 まとめ

去年のDLLヘルが無事解消されていることがわかりました!よかったよかった。