我的 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
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
错误消息的真正含义是什么?它提示哪个文件?
最佳答案
原因是文件损坏,可能是由于文件中混合了 LF 和 CF/LF 行结尾。
发生的事情是:
- 我将文件从 Windows PC 复制到 AWS ec2 Ubuntu 实例。
- 我第一次运行 www 文件时,出现了同样的错误消息。此时的原因可能是
node
可执行文件不存在。我还没有创建符号链接(symbolic link)。 - 在尝试排除故障时,我使用 nano 编辑并保存了 www 文件。我认为此时文件已损坏。
- 后来,我添加了/usr/bin/node 的符号链接(symbolic link)。然而,同样的错误仍然存在,但可能是由于行结尾损坏。
- 我
dos2unix
www 文件,错误消失了。
关于node.js - #!/usr/bin/env : No such file or directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44971412/