UbuntuにKotlinをインストールしてハローワールドまでやってみた #teratail_kt

#teratail_ktのたびにKotlinを触ってみているくらいなのでハローワールドから抜け出せてない今日この頃です。今回は3回目(Kotlin初心者向けハンズオン #3)。

過去に試した記事
- CLIとVSCodeでKotlin開発を始めてみるメモ #teratail_kt
- KotlinをNode.jsに変換してWebサーバーを作るメモ #teratail_kt

今日は利用している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ユーザーのためのパッケージマネージャーらしいですね。

JavaユーザーのためのパッケージマネージャーSDKMAN

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を作成します。

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の話)

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.