Kotlin/インストール方法

出典: フリー教科書『ウィキブックス(Wikibooks)』
ナビゲーションに移動 検索に移動

注釈[編集]

Kotlinは、コンパイルのターゲットごとに大別すると

があります。

それぞれ、開発に必要になるものが異なります。

Kotlin/JVM 環境のインストール方法[編集]

Windowsの場合[編集]

Javaのインストール[編集]

まず、2020年現在のJava開発元のオラクルのwebサイトから、Javaのインストーラーをダウンロードして、これをダブルクリック起動などしてインストールします。

kotlinの入手[編集]

GitHubにkotlinの公式リポジトリがあります。

https://github.com/JetBrains/kotlin/

このリポジトリから、リリース情報を開き、Assets をページ内検索しその章にある kotlin-compiler-1.7.10 をダウンロードします。

1.7.0 の部分は、リリースの度に更新されていくので、適宜、読み替えて欲しい。

kotlin のインストール[編集]

GitHubからダウンロードしたkotlinコンパイラのZIPを展開すると、「kotlinc」というホルダー以下に展開されます(語尾に「c」がついています)。

目標として、このkotlincの場所に環境変数パスをこれから通せばいいです。

なので、kotlincの保管場所は、単にインストールするだけなら どこでもいいのですが、Cドライブ直下またはCドライブの「Program Files」などにkotlincを移動したほうが、他のプログラマーとノウハウ共有しやすく管理しやすいでしょう。

なので、たとえば今回は、Cドライブ直下にkotlincを移動したとしましょう。

Windowsの環境変数には、システム環境変数とユーザ環境変数があるのですが、kotlinのインストールではシステム環境変数を設定します。システム環境変数は他のユーザと共有されます。

システム環境変数を設定するには、デスクトップで「システムのプロパティ」を検索し、システムのプロパティを開き、[詳細設定]タブの右下にある[環境変数]ボタンをクリックして、[環境変数]画面を開き、システム環境変数の設定をします。

環境変数PATHの末尾に「;C:\kotlinc\bin」を追加します。なお、セミコロン;とコロン:の使い分けには中注意。

Cの直前にある「;」はセミコロンであり、意味はほかのアプリのパスとの区切り記号です。

Cの直後にある「:」はドライブレターを示すコロンです。

環境変数パスの設定が正しく出来たら、インストールに成功しているはずなので、下記のように、バージョン確認コマンドなどで確認します。

コマンド入力は、Windowsアクセサリの『コマンド プロンプト』『Windows Terminal』あるいは『Power shell』から行えます。

バージョン確認コマンドは、

kotlin -version

であるので、単にこのコマンドを入力すればいいです。


成功すれば

Kotlin version 1.7.10-release-333 (JRE 1.8.0_331-b09)

のように kotlin 自身と JRE のバージョンが表示されます。

Linuxの場合[編集]

2020年の現状では、Linux で kotlinのインストールのために、まず先にsdkmanをインストールします。

sdkmanはkotlinに限らず、パッケージの複数バージョンの並行管理などを行うことができます。

sdkmanのインストール[編集]

Linuxの場合、コマンド

curl -s "https://get.sdkman.io" | bash

でsdkmanのインストールが行われます。

アスキーアートが表示され、

                                                            Now attempting installation...


Looking for a previous installation of SDKMAN...
Looking for unzip...
Looking for zip...

(※ 後略) と処理が進み

最後に

All done!

あるいは

Enjoy!!!

とか書いてあれば、sdkmanのインストール自体は完了。ただし、まだパス設定などが、されていません。

そのあと、sdkman のパス設定などのために、コマンド

source "$HOME/.sdkman/bin/sdkman-init.sh"

を入力。

このあと、インストールが成功したかどうかの確認のため

sdk version

もし sdkman のインストールに成功してれば、

==== BROADCAST =================================================================
* 2020-06-17: Asciidoctorj 2.3.1 released on SDKMAN! #asciidoctorj
* 2020-06-16: Micronaut 2.0.0.RC1 released on SDKMAN! #micronautfw
* 2020-06-14: Jbang 0.31.0 released on SDKMAN! See https://github.com/jbangdev/jbang/releases/tag/v0.31.0 #jbang
================================================================================

SDKMAN 5.8.3+506

のようなう表示が行われます。

しかし、まだsdkmanがインストールされただけです。

sdkmanのインストール後[編集]

sdkmanのインストールに成功したら、これから kotlin をインストールするため、さらにコマンド

sdk install kotlin

でkotlinをインストールします。

成功すれば、下記のように表示されます。

Downloading: kotlin 1.3.72

In progress...

######################################################################### 100.0%######################################################################### 100.0%

Installing: kotlin 1.3.72
Done installing!


Setting kotlin 1.3.72 as default.


これで kotlin のインストールが成功しているハズ。

最終確認として、バージョン確認をしてみましょう。 コマンド

kotlinc -version

を実行すれば、

info: kotlinc-jvm 1.5.31 (JRE 17.0.1+12)

のように表示されるでしょう。

BSD系Unixの場合[編集]

NetBSDやFreeBSDなどのBSD系Unixの場合、Package sourceやPorts Collectionに、lang/kotlin としてエントリーがあるので

ソースからビルド
# make -C /usr/ports/lang/kotlin all install clean
===>  License APACHE20 accepted by the user
===>   kotlin-1.7.10 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by kotlin-1.7.10 for building
===>  Extracting for kotlin-1.7.10
=> SHA256 Checksum OK for kotlin-compiler-1.7.10.zip.
/bin/rm -f /usr/ports/lang/kotlin/work/kotlinc/bin/*.bat
===>  Patching for kotlin-1.7.10
===>  Configuring for kotlin-1.7.10
===>  Staging for kotlin-1.7.10
===>   kotlin-1.7.10 depends on executable: bash - found
===>   kotlin-1.7.10 depends on file: /usr/local/openjdk8/bin/java - found
===>   Generating temporary packing list
/bin/mkdir -p /usr/ports/lang/kotlin/work/stage/usr/local/share/kotlin/lib
/bin/mkdir -p /usr/ports/lang/kotlin/work/stage/usr/local/share/kotlin/bin
cd /usr/ports/lang/kotlin/work/kotlinc/bin && /bin/sh -c '(/usr/bin/find -Ed $1 $3 | /usr/bin/cpio -dumpl $2 >/dev/null 2>&1) &&  /usr/bin/find -Ed $1 $3 \(   -type d -exec /bin/sh -c '\''cd '\''$2'\'' && chmod 755 "$@"'\'' . {} +  -o -type f -exec /bin/sh -c '\''cd '\''$2'\'' && chmod 555 "$@"'\'' . {} + \)' COPYTREE_BIN . /usr/ports/lang/kotlin/work/stage/usr/local/share/kotlin/bin
cd /usr/ports/lang/kotlin/work/kotlinc/lib && /bin/sh -c '(/usr/bin/find -Ed $1 $3 | /usr/bin/cpio -dumpl $2 >/dev/null 2>&1) &&  /usr/bin/find -Ed $1 $3 \(   -type d -exec /bin/sh -c '\''cd '\''$2'\'' && chmod 755 "$@"'\'' . {} +  -o -type f -exec /bin/sh -c '\''cd '\''$2'\'' && chmod 0644 "$@"'\'' . {} + \)' COPYTREE_SHARE . /usr/ports/lang/kotlin/work/stage/usr/local/share/kotlin/lib
/bin/ln -sf /usr/local/share/kotlin/bin/kapt /usr/ports/lang/kotlin/work/stage/usr/local/bin/kapt
/bin/ln -sf /usr/local/share/kotlin/bin/kotlin /usr/ports/lang/kotlin/work/stage/usr/local/bin/kotlin
/bin/ln -sf /usr/local/share/kotlin/bin/kotlin-dce-js /usr/ports/lang/kotlin/work/stage/usr/local/bin/kotlin-dce-js
/bin/ln -sf /usr/local/share/kotlin/bin/kotlinc /usr/ports/lang/kotlin/work/stage/usr/local/bin/kotlinc
/bin/ln -sf /usr/local/share/kotlin/bin/kotlinc-js /usr/ports/lang/kotlin/work/stage/usr/local/bin/kotlinc-js
/bin/ln -sf /usr/local/share/kotlin/bin/kotlinc-jvm /usr/ports/lang/kotlin/work/stage/usr/local/bin/kotlinc-jvm
install -C  -m 0644 /usr/ports/lang/kotlin/work/kotlinc/build.txt /usr/ports/lang/kotlin/work/stage/usr/local/share/kotlin
====> Compressing man pages (compress-man)
===>  Installing for kotlin-1.7.10
===>  Checking if kotlin is already installed
===>   Registering installation for kotlin-1.7.10
Installing kotlin-1.7.10...
===>  Cleaning for kotlin-1.7.10

あるいは

パッケージからインストール
# pkg install lang/kotlin
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 2 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        kotlin: 1.7.10

Installed packages to be DOWNGRADED:
        highway: 1.0.0 -> 0.17.0

Number of packages to be installed: 1
Number of packages to be downgraded: 1

The process will require 77 MiB more space.
354 KiB to be downloaded.

Proceed with this action? [y/N]: y
[1/1] Fetching highway-0.17.0.pkg: 100%  354 KiB 362.7kB/s    00:01    
Checking integrity... done (0 conflicting)
[1/2] Installing kotlin-1.7.10...
[1/2] Extracting kotlin-1.7.10: 100%
[2/2] Downgrading highway from 1.0.0 to 0.17.0...
[2/2] Extracting highway-0.17.0: 100%
の2通りのインストール方法があります。

ソースからビルドと言っも、lang/kotlin の場合は2022年6月現在、GitHubからリリースバージョンのコンパイラーのZIPを fetch して展開するだけなので、ビルドオプションを変えてホスト環境に最適化などはしなしので、パッケージ版との差異はありません。

なお、どちらの方法も、jdk などのパッケージに不足があれば、依存関係により、ビルドあるいは fetch & install されます。

インストールが終わったら、インストールされたKotlinのバージョンを確認します。

バージョン確認
% kotlinc -version
info: kotlinc-jvm 1.7.10 (JRE 1.8.0_332-b09)

もし

% kotlinc -version
kotlinc: Command not found.

の様に、失敗するようでしたらインストール失敗も考えられますが、/usr/local/bin にPATHが通っているか確認してください。