node.js - #!/usr/bin/env : No such file or directory

标签 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/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 行结尾。

发生的事情是:

  1. 我将文件从 Windows PC 复制到 AWS ec2 Ubuntu 实例。
  2. 我第一次运行 www 文件时,出现了同样的错误消息。此时的原因可能是 node 可执行文件不存在。我还没有创建符号链接(symbolic link)。
  3. 在尝试排除故障时,我使用 nano 编辑并保存了 www 文件。我认为此时文件已损坏。
  4. 后来,我添加了/usr/bin/node 的符号链接(symbolic link)。然而,同样的错误仍然存​​在,但可能是由于行结尾损坏。
  5. dos2unix www 文件,错误消失了。

关于node.js - #!/usr/bin/env : No such file or directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44971412/

相关文章:

javascript - 如何在 NodeJS 中使用 PhantomJS 模拟鼠标悬停或在页面上运行 JS 功能

javascript - Node.js:回调中的变量范围问题

javascript - 使用 mongorestore 将许多文档插入临时集合

c++ - 段错误(核心转储) - 使用大小为 8 的未初始化值

javascript - CSV node.js,从文件到数组

javascript - 如何在浏览器中访问远程 node.js 应用程序,而不是在本地主机上

bash - Shell脚本解释代码和参数

c - 如何在 Ubuntu 16.04 的 Codeblocks 13.12 中包含或链接 ncurses/curses 库?

ubuntu - 即使启用了 0.0.0.0,neo4j 网络管理员也无法查看

Ubuntu 的 PHP 编辑器