在terminal中使用“./”运行nodejs文件

如何从terminal使用./foo.js而不是node foo.js运行nodejs文件? 运行它与节点工作正常,但与./我得到bash: ./foo.js: Permission denied ./ bash: ./foo.js: Permission denied

我是Ubuntu新手,所以我不确定它是否是一个操作系统的调整。

确保该文件是可执行的。 你可以通过做一个“ls -la”来检查:

 $ ls -la foo.js -rw-r--r-- 1 daniel daniel 0 Oct 15 21:53 foo.js 

缺less“x”意味着它不可执行。 要使其可执行,请使用chmod +x

 $ chmod +x foo.js $ ls -la foo.js -rwxr-xr-x 1 daniel daniel 0 Oct 15 21:53 foo.js 

还要确保你在文件的最顶端有一个“shebang”行。 这告诉shell用于文件的解释器:

 #!/usr/bin/env node