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

标签 javascript node.js linux raspberry-pi raspbian

在 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/

相关文章:

javascript - 如何从另一个 html 文件更改视频 attr src

javascript - react-dates 组件不允许选择当前日期之前的日期

javascript - 为什么不在Phaser中上传图像?

node.js - 创建新的 React Native 应用程序

javascript - 我无法从 mongodb 检索值,即使它存在

c - 向标准输出显示单行以更新部分而不是在 C 中打印新行

javascript - Angular 2+ 和去抖动

node.js - MS Graph API 和 DriveItem 搜索不适用于客户端凭据流

node.js - ARM 上的 NodeJS 运行一个空文件需要 26 秒

linux - protobuf 和 Serialized Array/String/Ostream 提供的其他目标类型