Swift on Ubuntu - 没有这样的文件或目录

时间:2016-02-03 20:04:03

标签: swift bash ubuntu

尝试在我的Ubuntu 14.04.3服务器上安装swift。遵循Swift.org上的指南。

  • 下载安装包
  • 获取了gpg键
  • 验证.sig文件
  • 解压缩文件并将usr / bin子目录添加到我的PATH

然而,当我尝试运行swift时,我得到了#34;没有这样的文件或目录"

似乎找到了斯威夫特:

icanzilb@underplot:~/public$ which swift
/home/icanzilb/swift-DEVELOPMENT-SNAPSHOT-2016-01-25-a-ubuntu14.04/usr/bin/swift

路径正确:

icanzilb@underplot:~/swift-DEVELOPMENT-SNAPSHOT-2016-01-25-a-ubuntu14.04/usr/bin$ echo $PATH
/home/icanzilb/swift-DEVELOPMENT-SNAPSHOT-2016-01-25-a-ubuntu14.04/usr/bin:...

但无法运行它:

icanzilb@underplot:~/swift-DEVELOPMENT-SNAPSHOT-2016-01-25-a-ubuntu14.04/usr/bin$ swift
-bash: /home/icanzilb/swift-DEVELOPMENT-SNAPSHOT-2016-01-25-a-ubuntu14.04/usr/bin/swift: No such file or directory

=====

更新1:我从swift.org尝试了Swift的开发和稳定版本,并且.sig检出但仍然遇到了同样的错误。

swift可执行文件和我的Ubuntu都是64位。

1 个答案:

答案 0 :(得分:0)

看起来这是一个架构不匹配的问题,正如其中一个评论者所指出的,或者是下载损坏。 swift可执行文件位于路径中,由which选取。从它所在目录的名称来看,它确实适用于Ubuntu 14.04。我会尝试以下方法:

file `which swift`

这应该告诉你它是一个ELF 64位可执行文件,动态链接等等。如果不是这样,那么你的二进制文件会以某种方式被破坏。

然后做

uname -a

应将您的系统识别为Ubuntu 14,x86_64等。如果是这种情况,您可能有一个损坏的二进制文件。再次打开下载的软件包包并重试。如果您的系统不是x86_64,那么您的架构是错误的。

2016年2月4日更新:

根据您提供的有关二进制文件和体系结构的其他信息,我倾向于认为这是一个平台不匹配。 uname的输出未显示它是Ubuntu框。此外,Linux内核为4.4.0,二进制为2.6.24。我可以在带有3.19.0内核的Ubuntu 14.04安装上成功运行相同的二进制文件。内核版本差异本身不一定是个问题,但是指示该平台可能不是标准的Ubuntu 14.04安装。

作为另一项检查,您可以cat /etc/os-releasecat /etc/lsb-release吗?这些文件应该表明该平台是否确实是Ubuntu。如果是,那么我想知道你是如何结束这个晚期内核版本的。操作系统的某些其他组件也可能过于新近且与Swift二进制文件不兼容。这可能是一些奇怪的自定义Linode图像...如果你有一台机器,你可以使用,虚拟或物理,尝试下载和安装标准的Ubuntu 14.04。