はじめに
2022年における人生最良の行動、すなわちD言語インストールの方法について解説します。
Linux・Mac・WSL2といったPOSIX系環境
インストールスクリプトにより、ホームディレクトリに手軽に処理系を導入できます。
なお、利用のためにはGnuPGが必要になるので、そちらはapt
などで事前に準備しておいてください。
Ubuntuでは以下のような感じで利用できます。
# curlでinstall.shをダウンロードし、即実行
$ curl https://dlang.org/install.sh | bash -s
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 37302 100 37302 0 0 41036 0 --:--:-- --:--:-- --:--:-- 40991
Downloading and unpacking http://downloads.dlang.org/releases/2.x/2.101.0/dmd.2.101.0.linux.tar.xz
######################################################################## 100.0%
Using dub 1.30.0 shipped with dmd-2.101.0
Run `source ~/dlang/dmd-2.101.0/activate` in your shell to use dmd-2.101.0.
This will setup PATH, LIBRARY_PATH, LD_LIBRARY_PATH, DMD, DC, and PS1.
Run `deactivate` later on to restore your environment.
# sourceコマンドでactivateを読み込んで該当バージョンを有効化
$ source ~/dlang/dmd-2.101.0/activate
# プロンプトに現在有効なD言語処理系が表示される。試しにdmdバージョン表示
(dmd-2.101.0) $ dmd --version
DMD64 D Compiler v2.101.0
Copyright (C) 1999-2022 by The D Language Foundation, All Rights Reserved written by Walter Bright
# 試しにHello,World実行
(dmd-2.101.0) $ rdmd --eval='writeln("Hello,D World!")'
Hello,D World!
# deactivateでD言語使用終了
(dmd-2.101.0) $ deactivate
$
後は、パッケージマネージャのdub等を使用してD言語でガンガンプログラミングするだけです。
D言語そのものの学習には、Dlang TourやD Cookbookを見てみてください!
MacやWindowsでインストーラーを使う
MacやWindowsには公式でDMGが用意されていて、そちらを利用することも可能です。
詳しくは、D言語本家のダウンロードページを参考にしてください。
Windowsでの注意点
Windowsでは、libc相当のランタイムライブラリを利用するために、VC++の再配布可能パッケージやVisual Studioそのもののインストールが必要です。
D言語のためだけに何GBもあるVisual Studioをインストールするのは微妙だと思うので、インストール時にはVC++の再配布可能パッケージを利用する形でインストールしたほうがよいと思います。
具体的には、インストーラーで以下の画面になったら、下記画像の通りの選択肢を選んでください。
すると再配布可能パッケージのインストールが始まるので、指示に従ってインストールします。
これで巨大なVisual StudioなしでD言語が利用できます。
Visual Studio Codeを使ったWindowsでの環境構築
さて、時代は令和に入ってすでに4年、もうすぐ令和5年です。
いまどき個別のインストーラーやスクリプトでインストールし続けるのもモダンなエンヂニヤ達の心には響かないものがあるでしょう。
というわけで、今年はVisual Studio CodeのD言語拡張機能だけで環境構築をやってみます!
下記のように素のVisual Studio Codeをまずは用意します。Windows Sandboxを使っているので、マジでdmdも何も入っていない状態からの素からやっていきます。
まずは拡張機能のインストールです。Extensionsメニューでdlang
で検索をすると一瞬で最上部に出てきます。即インストールします。
最初はこんな画面になるので、Setup D Compilerを押下します。レッツ人生最良の行為!
しかしなぜか最初はPreview index.mdが開いてしまいます。この時は初回起動なので、右下のFirst time setupを押します。
元の画面に戻ります。ここで先ほどから右下に出ているReinstall serve-dを押しましょう。これをやらないと後続手順がうまくいきませんでした。
(私のような特別な訓練を受けた人間なら、冷静に普通のWindowsインストーラーを使ってパスを通すだけの話なのですが)
それからSetup D Compilerを押します。
すると、コマンドバーに選択肢が出ます。
とりあえずレコメンドなDMDを選択
Run installerでインストール開始します。
夢にまで見たインストーラーが起動します!あとは先ほどの注意点に従ってインストールします。
インストールが完了したら、環境変数の再読み込みの関係から一度VSCodeをしっかり再起動します。Reload Windowだけではダメです。
再起動すれば、Termnialでdmdが動くことを確認できます。
せっかくのVSCodeなのだからターミナルで動かしてばかりいても仕方ないです。コマンドでプロジェクトを作ってみます。
まずプロジェクト用フォルダを用意してVSCodeで開きます。
Yes, I Trustですね。
Ctrl + Shift + Pでコマンドメニューを開いて code-d: Create New Project
を選びます。
まずは基本のEmpty Console Applicationを選びましょう。
こんな感じでシンプル極まりないプロジェクトができます。
現状でコードサジェスチョンが効きます!当たり前のようですが一昔前からD言語使っているDゲンガーには感涙ものです……。
トラブル情報
ここで、dubとか使ってHello,Worldを動かして今年の仕事一丁終わり! と行きたかったのですが……。
どうも今はWindows版のdmdで-m64
でのビルド結果が怪しいようです……。
現状ではエラーが出て終わります。
rdmdで動かしてみるとこんな感じです……。-m64
をつけると正常に実行されません。
dmd-2.101はまだ新しいから何かトラブルがあるのかも……。
続報こうご期待!