【发布时间】:2019-08-17 00:48:32
【问题描述】:
我已经安装了 SDKMAN!以我服务器上的 root 身份,并希望我的所有用户(开发人员)都可以访问它。
为此我做到了:
export SDKMAN_DIR="/usr/local/sdkman" && curl -s "https://get.sdkman.io" | bash
source "/usr/local/sdkman/bin/sdkman-init.sh"
然后对于一个用户,我在 .profile 和 .bashrc 的末尾添加了这些行:
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
export SDKMAN_DIR="/usr/local/sdkman"
[[ -s "/usr/local/sdkman/bin/sdkman-init.sh" ]] && source "/usr/local/sdkman/bin/sdkman-init.sh"
来自该用户(非 root),sdk 命令有效,但是当我尝试安装 Java 时,我收到很多文件夹和文件权限错误,这没关系,因为大多数是由 root 创建的,而不是我的当前用户。
那我试试:
sudo sdk install java 9.0.4-open
得到:
sudo: sdk: command not found
不知道我做错了什么,也许我需要安装 SDKMAN!对于我服务器上的每个用户,这会很痛苦。
有什么建议吗?
【问题讨论】:
-
运行
type sdk,它可能会说它是一个shell函数。 -
sudo su -然后source /usr/local/sdkman/bin/sdkman-init.sh- 您也可以为root添加.profile条目(然后只是sudo su -) - 在运行sdk之前。 -
@ElliottFrisch 应该在普通用户每次想要运行 sdk 时都这样做吗?还是那是永久的?
-
@ElliottFrisch 遵循这些步骤,与以 root 执行 SDKMAN 相同,并且 Java 仅为 root 安装,想法是所有用户都可以使用。
-
这不是 sdkman 的工作方式。如果您还没有创建用户,您可以将设置复制到
/etc/skel。