在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
。但没有任何帮助。消息仍然显示。我不知道什么是错的......
答案 0 :(得分:0)
经过长时间的搜索,问题似乎是windows行结尾。他们需要转换为unix风格的结局。这是我所做的唯一改变,现在它起作用了。此问题仅属于shebang
行,因为node
解释器本身对原始文件没有问题...
对于此测试,我安装并使用了dos2unix
转换文件:
$ sudo apt install dos2unix
$ sudo dos2unix test.js
执行此操作后,初始test
命令就像魅力一样。所以我将开发版本的文件更改为unix样式,因此我不再需要运行它了。