Node.js Nodejs 文件不执行

hxh1246996371 · 2015年12月13日 · 最后由 hxh1246996371 回复于 2015年12月14日 · 7960 次阅读

我的 Nodejs 环境是

which node

输出 /usr/local/bin/node

然后我创建了一个 index.js 文件

#!/usr/local/bin node
console.log("hello")

然后

chmod +x index.js

./index.js

但是并没有像我期待的那样打出 hello 来,直接过去了,没输出任何信息,也没报错,但是我看很多文章上面写的都能输出信息。

有遇到过这个问题的同学吗?

#!/usr/local/bin/node

或者

#!/usr/bin/env node

#1 楼 @rei 还是不行,没有任何信息输出,我这里是执行的 sudo ./index.js 因为执行 ./index.js 会有权限问题

-bash: ./index.js: /usr/local/bin: bad interpreter: Permission denied

会和这个有关系吗?我在公司和家里的电脑上都试过了,都遇到这个问题了。

#1 楼 @rei 如果是 #!/usr/local/bin/node 就直接报错了

-bash: ./index.js: /usr/local/bin/node^M: bad interpreter: No such file or directory

如果是 #!/usr/bin/env node 也报错

: No such file or directory

同样 我写了个 test.ruby

#!/usr/local/bin/ruby

p "hello"

执行

./test.ruby

时报错

-bash: ./test.ruby: /usr/local/bin/ruby^M: bad interpreter: No such file or directory

执行

sudo ./test.ruby

时不报错,但是没任何反应,不输出信息。 而直接

/usr/local/bin/ruby test.ruby

却能输出。

#5 楼 @rei 👍 谢谢,真好了,我用 dos2unix 做了一下转换

dos2unix  index.js
需要 登录 后方可回复, 如果你还没有账号请 注册新账号