2016-11-07 60 views
1

我已經爲我的Ubuntu(16.04)下載了Swift的正式版本。 我想執行文件/path/to/swift/usr/bin/swift。 我在此目錄輸入./swift,並出現exec格式錯誤。 無論我是直接運行它(./)還是更改$PATH並輸入swift都不會出現同樣的錯誤。在Ubuntu上執行swift

這是Swift的問題嗎? 或者是我的Ubuntu或這個可執行文件的問題?

UPDATE:確切的錯誤是:bash: /swift-3.0/usr/bin/swift: cannot execute binary file: Exec format error

file命令報告:

/swift-3.0/usr/bin/swift: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, not stripped 

uname -a說:

Linux Lenovo-B570 4.4.0-45-generiC#66-Ubuntu SMP Wed Oct 19 14:12:05 UTC 2016 i686 i686 i686 GNU/Linux 
+0

什麼'file/path/to/swift/usr/bin/swift'打印? –

+0

/swift-3.0/usr/bin/swift:適用於GNU的ELF 64位LSB可執行文件,x86-64,版本1(SYSV),動態鏈接的解釋器/lib64/ld-linux-x86-64.so.2/Linux 2.6.32,沒有剝離 – Dawid

+0

而'uname -a'?另外,請使用您收到的* exact *錯誤消息更新您的問題。 –

回答

0

看一看這個tutorial for installing swift 3從蒸汽框架文檔。

嘗試卸載快捷,使用

curl -sL swift.vapor.sh/ubuntu | bash

從鏈接

注意重新安裝:安裝腳本會自動添加斯威夫特到你的〜/ .bashrc中的配置文件。

運行上述命令後,您應該可以運行swift文件。

*注意:如果這不起作用,那麼我們可以確定安裝不是問題。

+0

謝謝,它仍然不起作用,但它可能不是問題迅速。試圖找到答案,我意識到我有32位的Ubuntu版本,可執行文件是64位(基思,謝謝)。有什麼方法可以比運行虛擬機更好地在此係統上運行它? – Dawid

0

您試圖在32位系統(i686)上運行64位可執行文件(x86-64)。

這將無法正常工作(儘管通常可以通過典型設置進行相反操作)。

您需要找到並安裝32位版本的Swift。 (或者,如果可行,請考慮將系統更新爲使用64位操作系統。)