科特林作为一种出色的编程语言,它正在获得广泛关注,并且现在已获得官方支持,例如用于 Android 开发。但是我看到的安装选项不清楚安全问题。我不知道开发者工具检查(甚至支持)包上的签名,我不知道它是否会自动跟踪 Kotlin 和其他已安装包的安全更新(就像 apt-get 那样),我不知道安装会有多大,等等。
总结一下
是否有一种相对安全的 Kotlin 安装方法(使用包签名、自动更新等)?
例如,它有 PPA 吗?(是否有人在为 Debian/Ubuntu 打包它?)。
或者 sdkman 是否具备必要的属性?
或者还有其他方法吗?
更新:我看到ubuntu-make(umake)是一种选择。对于 IDEA 和 Kotlin,似乎仍然需要其 ppa 中的版本,如以下说明Ubuntu Make 16.03 发布,支持 Eclipse JEE 和 IntelliJ IDEA EAP 等
但令我惊讶的是,我无法轻易找到有关 umake 安全方面的任何信息,而且他们似乎还没有进行更新(更新工具 · 问题 #74),因此我的问题仍然悬而未决。
答案1
JetBrains 开发的命令行 Kotlin 编译器可以作为 snap 包安装在所有当前支持的 Ubuntu 版本中。要安装它,请打开终端并输入:
sudo apt install snapd
sudo snap install kotlin --classic
可用工具:
- 科特林克
- kotlinc-jvm
- kotlinc-js
- kotlin-dce-js
例子
使用 Kotlin 创建一个简单的应用程序来显示
Hello, World!
。使用以下命令创建一个名为 hello.kt 的具有可执行权限的新文件:fun main(args: Array<String>) { println("Hello, World!") }
使用 Kotlin 编译器编译应用程序。
kotlinc hello.kt -include-runtime -d hello.jar
运行该应用程序。
java -jar hello.jar
答案2
我不知道 umake。我刚刚编写了一个小 bash 脚本,从分布式 zip 存档中生成一个最小的 deb 包。
创建一个新的kotlinc-deb文件:
#!/usr/bin/env bash
if [ -z "$1" ]; then echo "Error: no input zip file is specified"; exit 1; fi
version=${1#kotlin-compiler-}
version=${version%.zip}
unzip $1 -d kotlinc_${version}_all/
cd kotlinc_${version}_all/
mkdir -v opt
mv -v kotlinc opt/
rm -rv 'opt/kotlinc/bin/'*.bat
mkdir -vp usr/{bin,share/doc}
mv -v opt/kotlinc/license usr/share/doc/kotlinc
sed -i $'s/\r$//' 'opt/kotlinc/bin/'* #The new 1.2.0 version has shell scripts in
# CRLF format. That causes issues when running
# them. So I added this CRLF to LF conversion
cd usr/bin
ln -svt . '../../opt/kotlinc/bin/'*
cd ../..
mkdir -v DEBIAN
cat >DEBIAN/control <<EOF
Package: kotlinc
Version: ${version}
Section: java
Priority: optional
Maintainer: ${LOGNAME} <${LOGNAME}@localhost>
Architecture: all
Description: The Kotlin compiler
The compiler for the Kotlin programming language.
EOF
dpkg-deb -b ../kotlinc_${version}_all{,.deb}
然后运行:
$ chmod +x kotlinc-deb
$ ./kotlinc-deb kotlin-compiler-1.1.51.zip
此后,您可以kotlinc_1.1.51_all.deb
像通常的 deb 包一样安装生成的内容。