【问题标题】:How to install Go without root如何在没有 root 的情况下安装 Go
【发布时间】:2020-12-31 05:36:11
【问题描述】:

我正在尝试在我的服务器中安装 Go,但我没有在根文件夹中创建文件和目录的 root 权限。 首先,我将其提取到/home/vt_admin/local/go

然后,我设置环境

$ export PATH=$PATH:/home/vt_admin/local/go/bin
$ export GOPATH=$GOPATH:/home/vt_admin/go
$ export GOROOT=$GOROOT:/home/vt_admin/local/go
$ source ~/.bash_profile

但是当我运行go version 时,结果是-bash: /home/vt_admin/local/go/bin/go: permission denied。 那么,我该如何解决这个问题?

【问题讨论】:

  • 导出(前 3 行)在您的 ~/.bash_profile 文件中,对吗? source ~/.bash_profile 在运行 go version 之前在终端中执行?
  • 你的路径需要在bin目录下改成export PATH=$PATH:/home/vt_admin/local/go/bin
  • @ShubhamSrivastava 我实现了但有其他错误-bash: /home/vt_admin/local/go/bin/go: Permission denied
  • @Abhijit-K Yeb :D

标签: go installation root


【解决方案1】:

根据Go official install instructions(选择 Linux) go 工具二进制文件位于相对于 tarball 根目录的 bin/ 子目录中。按照安装说明的第 2 步,在 PATH 中获取 go 可执行文件:

(将下面的/usr/local/go/bin替换为/home/vt_admin/local/go/bin

/usr/local/go/bin 添加到PATH 环境变量中。 您可以通过将以下行添加到您的 $HOME/.profile/etc/profile 来做到这一点(用于系统范围的安装):

export PATH=$PATH:/usr/local/go/bin 注意:对配置文件所做的更改可能要等到您下次登录计算机时才会生效。要立即应用更改,只需直接运行 shell 命令或使用诸如 source $HOME/.profile 之类的命令从配置文件执行它们。

除此之外,您的设置还可以。

【讨论】:

  • 我按照你的方式实现了,但仍然有错误-bash: /home/vt_admin/local/go/bin/go: Permission denied
  • 哦,对不起,我无法执行第一条指令,因为我没有root权限
  • 您需要将/usr/local/go/bin 替换为您的/home/vt_admin/local/go/bin。我将更新我的答案以使其更清楚。如果您仍然收到权限被拒绝错误,这也可能意味着您为错误的架构下载了 go 包(因此无法执行),或者因为安装了防止在系统目录之外运行二进制文件的安全策略(对于例如网络托管非常常见)。
  • 我认为第一种情况可能是错误的,因为我已通过此软件包成功安装在另一台服务器上(我有 root 权限)。第二种情况,如何知道Golang阻止在系统目录外运行二进制文件的信息?
  • 因为我在网上查到了,但没有看到信息
猜你喜欢
  • 1970-01-01
  • 2011-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-20
  • 1970-01-01
  • 2021-08-06
  • 2019-02-25
相关资源
最近更新 更多