2017-07-07 168 views
0

的家當線在我bin/www文件是:#在/ usr/bin中/ env的:沒有這樣的文件或目錄

pi:~/ferc$ head -n 1 bin/www 
#!/usr/bin/env node 

然而,執行它:

pi:~/ferc$ bin/www 
bin/www: line 1: #!/usr/bin/env: No such file or directory 

env文件不存在:

pi:~/ferc$ ls -lL /usr/bin/env 
-rwxr-xr-x 1 root root 31408 Feb 18 2016 /usr/bin/env 

node文件還存在:

pi:~/ferc$ ls -al /usr/bin/node 
lrwxrwxrwx 1 root root 15 Jul 7 18:29 /usr/bin/node -> /usr/bin/nodejs 

而且node運行正常:

pi:~/ferc$ node -v 
v4.2.6 

是什麼錯誤消息究竟意味着什麼?它抱怨哪個文件?

+0

什麼'這node'說? –

+1

錯誤消息意味着它試圖執行名爲「#!/ usr/bin/env」的文件並失敗。我認爲'bin/www'的第一行以某種方式損壞,並且它不被識別爲shebang。 – Kenster

+0

@Kenster,謝謝你的提示。我通過'dos2unix'運行了文件,錯誤消失了。 –

回答

0

的原因是一個已損壞的文件,可能是由於LF和CF/LF行結束在混合文件。

發生了什麼事是:

  1. 我從Windows PC到AWS EC2實例的Ubuntu複製的文件。
  2. 我第一次跑了WWW文件,即相同的錯誤消息出現。在這一點的原因很可能是node可執行文件並不存在。我還沒有創建符號鏈接。
  3. 雖然試圖解決問題,我編輯,並使用納米保存在WWW文件。我認爲此時文件已損壞。
  4. 後來,我加入了符號鏈接的/ usr/bin中/節點。但是,同樣的錯誤仍然存​​在,但可能是由於損壞的行尾。
  5. dos2unix www的文件,和錯誤走了。
相關問題