WSL Ubuntu 安装 Kotlin 交互式 Shell

更新日期: 2021-04-29 阅读次数: 8642 字数: 407 分类: Kotlin

心血来潮,想用 Kotlin 写一个 Android 应用。但是由于对 Kotlin 语法不熟悉,需要不断写测试代码,由于不习惯在 Android Studio 下测试,所以想安装一个命令行版的 Kotlin 交互式 Shell 来使用。

由于我在 WSL 下的 Ubuntu 18.04 开发,所以没法使用 snap 安装。

$ sudo snap install --classic kotlin
Interacting with snapd is not yet supported on Windows Subsystem for Linux.
This command has been left available for documentation purposes only.

而 apt install 也找不到 kotlin 的安装包。所以只能使用官方推荐的 SDKMAN 安装方案。

安装 SDKMAN

SDKMAN 可以用来安装 Kotlin 的命令行编译器。

SDKMAN is a tool for managing parallel versions of multiple Software Development Kits on most Unix based systems.

安装执行:

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

运行下面命令使 sdkman 生效,或者重新进入 shell。

source "/home/zhongwei/.sdkman/bin/sdkman-init.sh"

如果使用的是 fish shell,需要切换为 bash shell 来运行。否则会报错:

~/.sdkman/bin/sdkman-init.sh (line 48): 'case' builtin not inside of switch block
case "${SDKMAN_PLATFORM}" in
^
from sourcing file ~/.sdkman/bin/sdkman-init.sh
        called on standard input

source: Error while reading file '/home/zhongwei/.sdkman/bin/sdkman-init.sh'

使用 SDKMAN 安装 Kotlin

sdk install kotlin

不过 sdkman 的下载速度非常慢,需要耐心等待。

~ $ kotlinc-jvm
Welcome to Kotlin version 1.3.60 (JRE 11.0.4+11-post-Ubuntu-1ubuntu218.04.3)
Type :help for help, :quit for quit
>>> println("Hello Kotlin");
Hello Kotlin
>>>

大功告成。

如果 sdkman 网络不佳

可以到 github 直接下载

https://kotlinlang.org/docs/command-line.html

编译并执行 kotlin 文件

$ kotlinc main.kt -include-runtime -d hello.jar
$ ls
META-INF  MainKt.class  hello.jar  main.kt
$ java -jar hello.jar
Hello, World!

java: command not found

$ kotlinc -help
/home/zhongwei/.sdkman/candidates/kotlin/current/bin/kotlinc: line 80: java: command not found

需要按照 java

sudo apt install openjdk-11-jdk-headless

参考

Kotlin 官方文档:https://kotlinlang.org/docs/tutorials/command-line.html

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式