我在 Ubuntu 16.10 上安装最新版本的 golang 时遇到了问题。运行命令后,sudo umake go
我收到一条消息,提示我选择安装路径,建议使用默认路径/home/$user/.local/share/umake/go/go-lang
。这似乎不是我想要的,因为go
之后输入命令会给我以下消息:The program 'go' is currently not installed. You can install it by typing: sudo apt install golang-go
。但是,使用 apt 安装 golang 只会给我较旧的 1.6 版本。
我尝试在使用 umake 时更改安装路径,但随后收到一条消息,指出指定的目录将被删除,其中的所有内容将被替换。我不知道接下来该怎么办。提前致谢。
确保我拥有最新版本 (16.11.1) 的 umake 后,我运行了umake -r go
。然后我再次尝试并运行umake go
。这是我收到的错误消息:
Traceback (most recent call last): File "/usr/lib/python3/dist-packages/umake/tools.py", line 158, in wrapper function(*args, **kwargs) File "/usr/lib/python3/dist-packages/umake/frameworks/baseinstaller.py", line 409, in decompress_and_install_done self.post_install() File "/usr/lib/python3/dist-packages/umake/frameworks/go.py", line 75, in post_install "GOROOT": {"value": self.install_path, "keep": False}}) File "/usr/lib/python3/dist-packages/umake/tools.py", line 450, in add_env_to_user with open(profile_filepath, "a", encoding='utf-8') as f: PermissionError: [Errno 13] Permission denied: '/home/$user/.profile'
使用 umake 卸载 go 后我运行了sudo chown -R $USER /home/$USER
命令,但当我运行时仍然出现相同的错误umake go
。
答案1
审阅umake 文档
在您的系统上安装umake
需要使用sudo
然而,很明显,跑步umake app-name
应该像 那样 进行,regular user
而不是 那样root
。
为了安装应该执行的正确命令go
是:
umake go
如果你已经执行:
sudo umake go
sudo umake go
在运行之前,您可能需要删除先前的安装(由 完成)umake go
解决由以下原因引起的权限问题sudo umake go
以下错误的根源似乎是以umake go
root 身份执行的。
PermissionError:[Errno 13] 权限被拒绝:'/home/$user/.profile'
为了解决这个问题,请执行将您的主目录中文件的所有权更改为您拥有的。
假设这thomas
是你的用户名,/home/thomas
是你的主目录,下面应该将 .profile 的所有权更改thomas
为 root
sudo chown thomas /home/thomas/.profile
- $USER 变量应该保存您的用户名(您可以用您的用户名替换命令中的 $USER)