去:“没有这样的文件或目录”,但它存在

时间:2015-03-30 03:17:26

标签: go

我安装了golang。

~/go/bin$ ls
go  godoc  gofmt

尝试测试,但无济于事。

~/go/bin$ go version
-bash: /home/orc/go/bin/go: no such file or directory

My $ PATH:

/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/orc/go/bin:

的信息:

~/go/bin$ uname -m
x86_64

~/go/bin$ file go
go: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), not stripped

~/go/bin$ pwd
/home/orc/go/bin

请告诉我出了什么问题?

更新

~/go/bin$ ls -l
итого 28688
-rwxr-xr-x 1 orc orc 9571864 Фев 18 14:40 go
-rwxr-xr-x 1 orc orc 16164032 Фев 18 14:41 godoc
-rwxr-xr-x 1 orc orc 3594712 Фев 18 14:40 gofmt

~/go/bin$ ./go
-bash: ./go: Нет такого файла или каталога

!!!

~/go/bin$ file $(which ls)
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

~/go/bin$ uname -a
Linux olimp-web 2.6.32-5-amd64 #1 SMP Mon Jun 13 05:49:32 UTC 2011 x86_64 GNU/Linux

请解释如何修复它?

4 个答案:

答案 0 :(得分:5)

您是否检查过您安装的架构的版本是否正确。当我在64位虚拟机上放置32位二进制文​​件时,我遇到了这个问题。我删除了32位版本并安装了适当的体系结构版本(基于网站上的说明)并且它工作正常。希望对你也有用。

答案 1 :(得分:2)

要检查的一些事情可能会失效,但他们至少会排除一些事情:

  1. 您的问题中没有迹象表明您当前的目录位于/home/orc范围内,简单的pwd应该澄清这一点。

  2. 您可以直接运行该文件,例如./go~/go/bin/go吗?

  3. 可执行吗? ls -l的输出应该澄清这一点。

  4. 使用uname -a获取完整的计算机详细信息。

  5. 检查系统可执行文件,以防它以某种方式不是64位,尽管有file $(which ls)指示。

  6. 请确保路径中没有任何有趣的字符可以阻止它被拾取:echo $PATH | od -xcb

  7. 确保您的GOPATH设置正确(不确定这会影响go version,但这需要额外的尝试)。

答案 2 :(得分:1)

对我来说,这就是答案,这是在ubuntu18.04 Windows子系统linux 2上进行的安装:

export GOPATH=$HOME/go

export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin

答案 3 :(得分:0)

就我而言,没有安装 go 编译器和语言...

sudo apt install golang-go