跳至主要內容

OneX 常见问题

孔令飞原创约 657 字大约 2 分钟OneXOneX

OneX 常见故障及解决办法

Q:遇到xxx: permission denied这类的错误。

出现这种错误,是因为你没有权限执行当前的操作。解决方法是排查自己是否有权限执行当前操作。如果没有权限,需要你切换到有权限的用户,或者放弃执行当前操作。

为了说明问题,这里我举一个错误例子,并给出排查思路。例子的错误日志如下:

[going@VM-8-9-centos /]$ go get -u github.com/golang/protobuf/protoc-gen-go
go: could not create module cache: mkdir /golang: permission denied
[going@VM-8-9-centos /]$ sudo go get -u github.com/golang/protobuf/protoc-gen-go
sudo: go: command not found

上述错误中, 一共报了两个错误,分别是mkdir /golang: permission deniedsudo: go: command not found。我们先来看mkdir /golang: permission denied错误。

通过命令行提示符$可以知道,当前登陆用户是普通用户;通过报错mkdir /golang: permission denied可以知道go get -u github.com/golang/protobuf/protoc-gen-go命令底层执行了mkdir /golang,因为普通用户没有写 / 目录的权限,所以会报权限错误。解决方法是切换到用户的目录下,执行go get -u命令。

我们再来看下sudo: go: command not found错误。sudo命令会将命令执行的环境切换到root用户,root用户显然是没有安装go命令的,所以会导致command not found错误。解决方式是去掉 sudo,直接执行 $ go get -u xxx

Q:报 No such file or directorycommand not foundpermission denied 错误。

遇到这类错误,要根据提示排查和解决问题。

  • No such file or directory:确认文件是否存在,不存在的原因是什么。
  • command not found:确认命令是否存在,如果不存在,可以重新安装命令。
  • permission denied:确认是否有操作权限,如果没有,要切换到有权限的用户或者目录。

Q:报 Failed to parse input: unexpected end of JSON input .* generate-node-cert(...). *

该问题大概率是因为在使用 cfssl 工具生成证书的时候报的错,版本不匹配导致的。建议大家重新安装 v1.6.1 版本的 cfssl 工具。

因为国内墙的原因,使用脚本可能会安装超时,可以手动安装。安装方法如下:

$ mkdir -p $HOME/bin/
$ wget https://github.com/cloudflare/cfssl/releases/download/v1.6.1/cfssl_1.6.1_linux_amd64 -O $HOME/bin/cfssl
$ wget https://github.com/cloudflare/cfssl/releases/download/v1.6.1/cfssljson_1.6.1_linux_amd64 -O $HOME/bin/cfssljson
$ wget https://github.com/cloudflare/cfssl/releases/download/v1.6.1/cfssl-certinfo_1.6.1_linux_amd64 -O $HOME/bin/cfssl-certinfo
$ chmod +x $HOME/bin/{cfssl,cfssljson,cfssl-certinfo}

Q:安装 Vim IDE 时报 vim-go: Error installing golang.org/x/tools/cmd/guru@master: go: golang.org/x/tools/cmd/guru@master ....

可以手动安装 guru 工具,安装命令如下:

$ go install golang.org/x/tools/cmd/guru@latest
贡献者: 孔令飞,Lingfei Kong
手机看手机看
微信扫一扫
手机看
可以手机看或分享至朋友圈
星球星球
一个可以助你进阶为Go+云原生高级开发工程师的实战星球
星球
交流群交流群
添加微信,进Go项目开发交流群
交流群
PS:添加时请备注 入群
下资料下资料
扫码公众号,回复 资料 获取海量编程学习资源「无任何套路」
下资料