【问题标题】:sdkman available to root user but not to other userssdkman 对 root 用户可用,但对其他用户不可用
【发布时间】:2016-12-25 14:18:16
【问题描述】:

我在 CentOS 6.8 中使用 curl 作为 root 用户安装了 sdkman 我使用 sdkman 安装了 Grails,它只对 root 用户可用。

我是否需要以其他普通用户身份安装 sdkman 才能使 Grails 工作,或者有没有办法使用我以 root 用户身份安装的 Grails?

谢谢。

【问题讨论】:

  • 如果您将其安装在 /root/bin/ 例如那么它只存在于root。将其放入/usr/local/bin 例如适用于所有用户。
  • "...或者有没有办法使用我以 root 用户身份安装的 Grails" - 以 root 用户身份运行 Grails 是个坏主意。
  • @JeffScottBrown,不,不。我的意思是作为普通用户使用 Grails,但不知何故可以访问 Grails。
  • @cfrick,所以我注意到我的 Grails、PostgreSQL、pgAdmin3 都对普通用户不可用...我还需要将它们移动到 /usr/local/bin 吗?
  • 如果您的工具(如 psql)并非对所有用户都可用,那么该系统上的许多事情都可能出错(或正确:例如权限设置限制)。如果您有具体的编程问题,请制定它们。如果您对系统管理有任何疑问,那么超级用户 SE 可能是一个更好的提问场所。

标签: grails sdkman


【解决方案1】:

我鼓励您将 sdkman 提供给其他用户(查看其文档,自定义安装段落,添加从 $SDKMAN_DIR/bin 目录获取 init 文件的 init 脚本)。

然后让需要 Grails 的用户安装它。

或通过其存储库安装 Grails(接受,这将是比 SDKMAN 中的版本更旧的版本)。

就我而言,我使用的是:

  1. export SDKMAN_DIR="/usr/local/sdkman" && curl -s "https://get.sdkman.io" | bash - 在安装 sdkman 之前确保 $SDKMAN_DIR 不存在,否则它将被覆盖
  2. .bashrc 的用户文件中,我希望能够使用 sdkman。否则,在这些的最后,它可能不起作用

    导出 SDKMAN_DIR="/usr/local/sdkman" [[ -s "/usr/local/sdkman/bin/sdkman-init.sh" ]] && source "/usr/local/sdkman/bin/sdkman-init.sh"

文档:http://sdkman.io/install.html

【讨论】:

    【解决方案2】:
    1. 对于非交互式 shell 添加到 .profile

      导出 SDKMAN_DIR="/usr/local/sdkman"

      [[ -s "/usr/local/sdkman/bin/sdkman-init.sh" ]] && source "/usr/local/sdkman/bin/sdkman-init.sh"

    【讨论】:

      猜你喜欢
      • 2020-12-19
      • 2020-05-02
      • 2019-11-12
      • 2022-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-02
      • 2011-02-07
      相关资源
      最近更新 更多