我正在尝试为node.js创建一个可以在多种环境下工作的脚本。特别是对我来说,我正在OS
X和Ubuntu之间来回切换。在前者中,Node安装为node
,而在后者中,安装为nodejs
。在脚本的顶部,我可以有:
#!/usr/bin/env node
要么
#!/usr/bin/env nodejs
只要安装了node,我宁愿脚本在任一环境中都作为可执行文件运行,而不是让一个或另一个必须指定命令(./script-name.js
vs. node script-name.js
)。
有什么方法可以指定备份hashbang或与node.js兼容的备份哈希吗?
如果您的脚本是供Node开发人员使用的,则绝对应该使用
#!/usr/bin/env node
不必试图与只安装Node的用户兼容nodejs
。
理由:
#!/usr/bin/env node
作为家当他们可执行的脚本。/usr/bin/node
为的符号链接nodejs
。有高度看说明书上堆栈溢出这里这样做,并在网上所有。甚至有一个nodejs-legacy
软件包的全部目的是为您创建此符号链接。使用Node的人知道如何在Ubuntu上解决此问题,如果他们想使用几乎用Node编写的任何软件,就 必须这样做 。apt-get install nodejs
并将其创建/usr/bin/node
为的符号链接/etc/alternatives/node
。我怀疑受此问题困扰的人正在减少。即使您是针对不懂Node的人的,也可能仍要使用#!/usr/bin/env node
,nodejs- legacy
如果您认为有必要,可能会在安装文档中添加手动创建符号链接或安装软件包的可能。请注意,如果有其他人nodejs
但不可node
用的人尝试使用上述shebang运行您的程序,他们将看到:
/ usr / bin / env:节点:没有这样的文件或目录
和谷歌搜索,这将使他们在第一结果中获得修复,并在第一页上获得多次修复。
如果您真正地急切地希望确保用户可以在nodejs
可用但node
不可用的系统上(或node
实际上在“
业余分组无线节点”程序所在的系统)上运行您的软件,那么您可以使用此“两行shebang”来自Unix和LinuxStackExchange:
#!/bin/sh
':' //; exec "$(command -v nodejs || command -v node)" "$0" "$@"
console.log('Hello world!');
但是当Node世界中几乎没有其他人时,您真的需要这样做吗?
我试图为node.js创建一个脚本,将在多个环境中工作。特别是对我来说,我在OS X和Ubuntu之间来回切换。在前者中,Node被安装为,但在后者中它是。在我的脚本顶部,我可以有: 或者 只要安装了节点,我宁愿让脚本作为任一环境的可执行文件运行,而不是让一个或另一个必须指定命令(vs.)。 是否有任何方法可以为node.js指定备份hashbang或在任何情况下都兼容的备份hashbang?
问题内容: 我通常在Python脚本中使用以下shebang声明: 最近,我遇到了这个shebang声明: 在脚本文档中,已指出使用此表单“更具可移植性”。 这个声明是什么意思?路径中间为什么会有空间?它实际上有助于提高可维护性吗? 问题答案: 之所以具有更高的可移植性,是因为该程序通常可用于在没有完整路径的情况下“激活”所需的命令。 否则,您将必须指定Python解释器的完整路径,该路径可能有所
有人能帮我解决这个问题吗?当然,在Linux上运行时,我已经将路径更改为。
问题内容: 我使用Connect编写了一个小型的node.js应用程序,该应用程序提供了一个网页,然后将其定期发送。它还接受用户观察并将其记录到磁盘文件中。 只要我在本地主机上,它就可以正常工作,但是我无法在同一Intranet上让其他计算机看到它。我正在使用端口3000,但是更改为端口8080或80并没有帮助。 这是我用来建立连接的代码: 如上所述,我尝试将端口号更改为8080或80,但没有发现
更新时间:2019-07-10 20:27:58 使用场景 脚本节点支持您通过编写JavaScript代码来实现功能逻辑。如果平台提供的其他节点,功能不够灵活,您可以使用脚本节点通过编写JavaScript代码来灵活定制您的业务需求。 节点功能 支持您使用JavaScript编写代码,实现您的业务逻辑。目前支持Node.js 6.10版本。 脚本节点编码指导 动态调用 在脚本节点中可使用内置变量,
问题内容: 在我的Node.js应用程序中,我试图连接到Amazon上托管的MySQL数据库。 我的代码如下所示: 我可以使用Workbench连接到我的MySQL数据库-因此,我很确定我的凭据可以。 当我尝试连接时,出现以下错误: Connection.js:91未捕获的TypeError:Net.createConnection不是函数 从npm库中调试代码-这是引发错误的地方: 该具有相关性