はじめに
ごきげんよう、Zen言語
最近、低レイヤに興味が出てきて色々調べていたところ、Zen言語というプログラミング言語に出会いました。
Zen言語がどういうものかという説明は公式ドキュメントに記載されているため詳細は省きますが、要は安全なC言語を目指しているそうです。
ちょっと興味が出てきたのでインストールしようとしたところ、インストーラーやインストール手順はなくzipがあるだけだったので忘備録的な感じでQiitaに書くことにしました。
インストールする
前提
- windowsバージョン
Microsoft Windows [Version 10.0.18362.657]
手順
以下の手順で環境を作っていきたいと思います。
- 公式からzipをダウンロードする
- 適当なところに展開する
- パスを通す
- コマンドプロンプトで確認する
1. 公式からzipをダウンロードする
公式サイトのダウンロードページにアクセスする。
windows版をダウンロードします。
Zen言語は2月22日現在、Public Beta (v0.8.20191124)でした。
2. 適当なところに展開する
ダウンロードしたzipファイルを右クリック>すべて展開(T)を選択します。
後述しますが実はここでハマってしまいました。
C:\Program Files
の直下に展開したところ、ビルドに失敗しました。
パスにスペースが入っていたことが原因でした。
Cドライブ直下などのパスにスペースがない所に展開したところ無事実行できたので、windowsで環境構築する人は気を付けてください。
3. パスを通す
winキーを押して「環境変数」と入力するとシステム環境変数の編集という画面を開くことができるのでそこから編集します。
Pathを選択して[2.適当なところに展開する]で展開した所のパスを設定してください。
自分はCドライブ直下に展開したのでC:\zen-windows-x86_64-0.8.20191124\
というパスを通しました。
4. コマンドプロンプトで確認する
コマンドプロンプトを開きます。
zen
と打ち込みます。
きちんとパスが通っていればヘルプが表示されるはずです。
やったぜ!
せっかくなので公式ドキュメント通りにHello Worldしてみました。
Congratulations on your first step to writing perfect software in Zen.
無事にZen言語でソフトウェアを書く第一歩を踏み出すことができました!
ハマったところ
[2.適当なところに展開する]でも述べた通り、C:\Program Files
に展開したときにエラーが発生しました。
zen init-exe
コマンドは問題なく動きますが、zen build run
コマンドでエラーが発生しました。
公式サイトにもインストール手順がないので、どうしようかなと思っていたところ...
そういえばZen言語はZig言語からフォークした言語だなと思い出し、Zig言語のインストール手順を見ればなんとかなるかもしれないと思いWindowsでZig言語の環境構築をするページにアクセスしました。
Unzip this file to a directory with no spaces, such as C:\Users\Andy. It contains a single directory, so when you do this the full path will be e.g. C:\Users\Andy\llvm+clang-9.0.0-win64-msvc-mt.
スペースがないディレクトリに解凍しろとズバリ書いてありましたね。
このページのおかげでwindowsで無事Zen言語を実行することができました。
コマンドプロンプトのエラーコードをもう一度きちんと読むと、
Unrecognized command: Fileszen-windows-x86_64-0.8.20191124zen.exe build-exe
と書いてあるので、スペースのあとのFilesがzen-windows-x86_64-0.8.20191124の一部として読み込まれてしまい、実行できなかったということでしょうか。
他のソフトウェアでもフォルダにスペースや日本語が入っていると上手く実行できないものがあるので、windowsに環境構築をする場合はこのようなミスに気を付けていきたいです。
おわりに
普段はインストーラーやパッケージマネージャーを使ってソフトウェアをインストールしているため、フォルダ名にスペースが入っているという些細なミスでハマってしまいました(2時間くらいハマった)。
システムプログラミング向きでなおかつ現在Public BetaであるZen言語を使ってみようと思う人でこのようなハマり方をする人はあまりいないかと思いますが、自分のように低レイヤに興味持ち始めたけど普段はインストーラー頼りだからよく分からんという人に役に立てば幸いです!