无法将命令链接到节点脚本文件,没有这样的文件或目录

时间:2017-05-10 07:46:01

标签: javascript node.js linux raspberry-pi raspbian

在linux机器上尝试使用link的{​​{1}} commant到javascript文件时遇到了麻烦。只需假设一些简单的脚本和npm

的package.json

package.json

test.js

"bin": {
  "test": "./test.js"
},

安装

#!/usr/bin/env node
console.log("test");

在Windows机器上执行此操作不会导致任何问题。一切正常。但是在linux / Raspbian系统上它一直告诉我:

  

:没有这样的文件或目录

我已将节点的二进制文件与:

相关联
$ sudo npm install
$ sudo npm link

可以肯定的是,我已更新到最新版本的节点$ sudo ln -s /usr/bin/nodejs /usr/bin/node 。但没有任何帮助。消息仍然显示。我不知道什么是错的......

1 个答案:

答案 0 :(得分:0)

经过长时间的搜索,问题似乎是windows行结尾。他们需要转换为unix风格的结局。这是我所做的唯一改变,现在它起作用了。此问题仅属于shebang行,因为node解释器本身对原始文件没有问题...

对于此测试,我安装并使用了dos2unix转换文件:

$ sudo apt install dos2unix
$ sudo dos2unix test.js

执行此操作后,初始test命令就像魅力一样。所以我将开发版本的文件更改为unix样式,因此我不再需要运行它了。