如何使用./foo.js
而不是node foo.js
从终端运行nodejs文件?使用节点运行它可以正常工作,但使用./
我得到bash: ./foo.js: Permission denied
。
我是Ubuntu的新手,所以我不确定它是否是一个操作系统调整。
答案 0 :(得分:3)
确保文件可执行。您可以通过执行“ls -la”来检查:
$ ls -la foo.js
-rw-r--r-- 1 daniel daniel 0 Oct 15 21:53 foo.js
缺少“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