在 Linux 机器上尝试使用 npm
将命令链接
到 javascript 文件时遇到了麻烦。假设一些简单的脚本和 package.json
:
package.json
"bin": {
"test": "./test.js"
},
test.js
#!/usr/bin/env node
console.log("test");
安装
$ sudo npm install
$ sudo npm link
在 Windows 机器上执行此操作没有问题。一切正常。但是在 linux/Raspbian 系统上它一直告诉我:
: no such file or directory
我已经将 Node 的二进制文件链接到:
$ sudo ln -s /usr/bin/nodejs /usr/bin/node
可以肯定的是,我已经更新到最新版本的 Node 7.10.0
。但没有任何帮助。该消息仍然出现。我不知道出了什么问题......
最佳答案
经过长时间的搜索,问题似乎出在 windows 行尾。它们需要转换为 unix 风格的结尾。这是我所做的唯一更改,现在它起作用了。这个问题只属于shebang
行,因为node
解释器本身对原文件没有问题...
对于这个测试,我安装并使用了 dos2unix
,它可以转换文件:
$ sudo apt install dos2unix
$ sudo dos2unix test.js
完成此操作后,初始的 test
命令就像一个魅力。所以我把开发版的文件改成unix风格的,这样我就不需要再运行了。
关于javascript - 无法将命令链接到 Node 脚本文件,没有这样的文件或目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43886399/