Node.js #!/usr/bin/env:没有这样的文件或目录

Node.js #!/usr/bin/env:没有这样的文件或目录,node.js,ubuntu,Node.js,Ubuntu,我的bin/www文件中的shebang行是: 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/www
文件中的shebang行是:

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
节点
文件也存在:

pi:~/ferc$ ls -al /usr/bin/node
lrwxrwxrwx 1 root root 15 Jul  7 18:29 /usr/bin/node -> /usr/bin/nodejs
节点
运行正常:

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

错误消息的真正含义是什么?它在抱怨哪个文件?

您可以直接使用node,如:

#!/usr/bin/node

请参阅优缺点:

原因是文件损坏,可能是由于文件中混合了LF和CF/LF行结尾

发生的情况是:

  • 我将文件从Windows PC复制到AWS ec2 Ubuntu实例
  • 我第一次运行www文件时,出现了相同的错误消息。此时的原因可能是
    节点
    可执行文件不存在。我还没有创建符号链接
  • 在尝试排除故障时,我使用nano编辑并保存了www文件。我想在这一点上,文件被破坏了
  • 后来,我添加了/usr/bin/node的符号链接。但是,相同的错误仍然存在,但可能是由于行尾损坏
  • dos2unix
    www文件,错误消失了

  • 哪个节点
    说了什么?错误消息意味着它正在尝试执行一个名为“#!/usr/bin/env”的文件,但失败了。我认为
    bin/www
    的第一行在某种程度上是腐败的,它没有被识别为shebang。@肯斯特,谢谢你的提示。我通过
    dos2unix
    运行了该文件,错误消失了。