WSL Ubuntu 安装 Kotlin 交互式 Shell

更新日期: 2019-11-27 阅读次数: 202 字数: 395 分类: 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
>>>

大功告成。

编译并执行 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 聊聊。 白天工地搬砖,晚上哄熊孩子,可能回复有点慢,见谅。 查看更多联系方式

相关文章

爱评论不评论

近期节日

2019年12月09日 "一二九"运动纪念日
2019年12月09日 世界足球日
2019年12月10日 世界人权日
2019年12月12日 西安事变纪念日
2019年12月13日 南京大屠杀
2019年12月20日 澳门回归日
2019年12月21日 国际篮球日
2019年12月22日 冬至
2019年12月24日 平安夜
2019年12月25日 圣诞节
查看更多节日