#teratail_kt
のたびにKotlinを触ってみているくらいなのでハローワールドから抜け出せてない今日この頃です。今回は3回目(Kotlin初心者向けハンズオン #3)。
過去に試した記事
今日は利用しているUbuntu(16.04)にKotlinをインストールしてみます。
日本語導入っぽいのは現時点であんまりなので公式のWorking with the Command Line Compilerを参考にします。
OSバージョン
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"
SDKMANのインストール
SDKMANってはじめて知ったんですけどJavaユーザーのためのパッケージマネージャーらしいですね。
JVM系言語の人たちには馴染みがある模様。
言語自体のバージョンの切り替えが出来ると思いきや、フレームワークなどのバージョン切り替えも出来る模様なので、Node.jsユーザー的にいうとnvmとnpmの両方の機能があるイメージでしょうか。(認識間違ってたら教えてください)
$ curl -s https://get.sdkman.io | bash
・
・
省略
・
・
Updated existing /home/n0bisuke/.zshrc
All done!
Please open a new terminal, or run the following in the existing one:
source "/home/n0bisuke/.sdkman/bin/sdkman-init.sh"
Then issue the following command:
sdk help
Enjoy!!!
とりあえずインストール完了です。
パスを通します。
$ source "/home/n0bisuke/.sdkman/bin/sdkman-init.sh"
sdk help
が実行出来ればOKです。
$ sdk help
==== BROADCAST =================================================================
* 13/04/18: Gradle 4.7-rc-2 released on SDKMAN! #gradle
* 10/04/18: Springboot 1.5.12.RELEASE released on SDKMAN! #springboot
* 09/04/18: sbt 1.1.4 released on SDKMAN! #scala
================================================================================
Usage: sdk <command> [candidate] [version]
sdk offline <enable|disable>
commands:
install or i <candidate> [version]
uninstall or rm <candidate> <version>
list or ls [candidate]
use or u <candidate> [version]
default or d <candidate> [version]
current or c [candidate]
upgrade or ug [candidate]
version or v
broadcast or b
help or h
offline [enable|disable]
selfupdate [force]
update
flush <candidates|broadcast|archives|temp>
candidate : the SDK to install: groovy, scala, grails, gradle, kotlin, etc.
use list command for comprehensive list of candidates
eg: $ sdk list
version : where optional, defaults to latest stable if not provided
eg: $ sdk install groovy
ちなみにzip入ってないって怒られました
Looking for zip...
Not found.
======================================================================================================
Please install zip on your system using your favourite package manager.
Restart after installing zip.
======================================================================================================
Ubuntuはapt-getで入れます。
$ sudo apt-get install zip
SDKMAN経由でKotlinとJavaをインストール
Kotlinのインストールをします。
$ sdk install kotlin
javaのインストールをします。
$ sdk install java
それぞれバージョン確認
$ kotlin -version
Kotlin version 1.2.31-release-95 (JRE 1.8.0_163-b01)
$java -version
openjdk version "1.8.0_163"
OpenJDK Runtime Environment (Zulu 8.28.0.1-linux64) (build 1.8.0_163-b01)
OpenJDK 64-Bit Server VM (Zulu 8.28.0.1-linux64) (build 25.163-b01, mixed mode)
ハローワールド
hello.kt
を作成します。
fun main(args: Array<String>) {
println("Hello, World!")
}
$ ls
hello.kt
kotlincコマンド
でコンパイルします。
$ kotlinc ./hello.kt -include-runtime -d hello.jar
Goとかの感覚からすると少し時間かかる印象です。
hello.jar
が作成されます。
$ ls
hello.jar hello.kt
kotlinコマンド
でjarファイルを実行します。(さっきのkotlincコマンドとkotlinコマンドは別なので注意)
$ kotlin hello.jar
Hello, World!
お疲れ様でした。
感想など
特に問題なくできた印象。SDKMANの存在を知れたのが収穫かも。
kotlincコマンドのコンパイル時間が気になるのでプログレス表示とか出来る方法があると嬉しいなと思った。 (IDEは使わずにCLIの話)