2017-07-07 48 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的文件,和错误走了。
相关问题