适用于 Windows 的 NPM 包“bin”脚本

2024-04-18

Cucumber.js 提供了一个命令行“二进制文件”,这是一个简单的.js文件包含一个shebang操作说明:

#!/usr/bin/env node
var Cucumber = require('../lib/cucumber');
// ...

二进制文件在中指定package.json"bin"配置键:

{ "name" : "cucumber"
, "description" : "The official JavaScript implementation of Cucumber."
// ...
, "bin": { "cucumber.js": "./bin/cucumber.js" }
// ...

这一切在 POSIX 系统上都运行良好。有人举报an issue https://github.com/cucumber/cucumber-js/issues/60在 Windows 上运行 Cucumber.js 时。

基本上,.js文件似乎是通过 Windows 的 JScript 解释器(而不是 Node.js)执行的,并且由于 shebang 指令而引发语法错误。

我的问题是:设置可在 UNIX 和 Windows 系统上运行的“二进制”脚本的推荐方法是什么?

Thanks.


Windows 忽略 shebang 行#!/usr/bin/env node并将按照.js文件关联。明确使用节点调用脚本

node hello.js

附:迂腐:shebangsaren't在 POSIX 标准中,但大多数 *nix 系统都支持它们。


如果您为 Npm 打包项目,请使用 'bin' 字段包.json https://docs.npmjs.com/files/package.json#bin。然后在 Windows 上,Npm 将安装.cmd与脚本一起包装,以便用户可以从命令行执行它

hello

为了让 npm 正确创建垫片,脚本必须有 shebang 行 https://github.com/ForbesLindesay/cmd-shim/blob/f59af911f1373239a7537072641d55ff882c3701/index.js#L22 #!/usr/bin/env node

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

适用于 Windows 的 NPM 包“bin”脚本 的相关文章

随机推荐

  • 是否可以更改AVPlayer的背景颜色?如果是,怎么办?

    我希望将默认背景颜色从黑色更改为我想要的颜色 可能是与视频形成对比的颜色 大多数时候是黑色 我已将这段代码添加到我的viewWillAppear 功能 let playerLayer AVPlayerLayer player player
  • 向上或向下滚动时的 JavaScript 事件

    是否可以编写 JavaScript 来在手动向上或向下滚动 DIV 层的滚动条时执行操作 如果是这样 请给我一个提示 以实现一个简单的警报框 表示您向上滚动并向下滚动 您可以简单地使用onscrolljava脚本的事件 OnScroll 事
  • 在heroku上部署django网站出错

    我正在heroku 中部署我的django 网站 并在django 的setting py 文件中使用DATABASE 我正在遵循以下所有步骤赫罗库帮助 https devcenter heroku com articles getting
  • Android - 禁用 HDMI

    我的一个 Android 项目需要时不时地在 2 个 HDMI 输入之间切换 可能是一分钟一次 一根 HDMI 输入来自 Android 设备的 HDMI 输出 一根来自外部不可控源 我发现了一个 HDMI 开关 当信号可用时 它可以自动在
  • 前向声明类型 - 这背后的原因是什么

    Forward declare a type point to be a struct typedef struct point point Declare the struct with integer members x y struc
  • 从动态内容提供者加载 html5 音频并进行身份验证

    假设我们这里有一个内容提供者端点myuri org api auth sources id 它返回由 id 标识的音乐文件 路线 api auth 需要身份验证 在本例中 这是通过在请求标头中传递 JWT 来完成的 如下所示Authenti
  • Symfony2 根据提交的数据形成验证组

    我有一些复杂的表单 带有多个子表单 并且我希望能够根据主表单中选择的单选按钮单独验证每个子表单 我想通过验证组来实现这一目标 注 我没有data class模型 我使用数组 这是我的简化表格 class MyType extends Abs
  • Prolog - 从列表中删除具有相同第一个值的对

    我有这样的对象列表 list obj x y obj x z obj a b obj b c 我想删除那些共享相同第一个值的元素 这样我就可以使用修改后的列表 在这种情况下 最终列表将如下所示 list obj a b obj b c 有人
  • 为什么比较器声明等于?

    比较器接口有自己的equals 方法 任何班级都会得到equals 默认情况下通过 Object 类 需要具备什么equals 接口内的方法 Comparator细化合同Object equals 它必须满足以下规定的约束Object eq
  • 从 PHP 读取 Git 提交消息

    我正在寻找一种使用 PHP 读取 Git 提交消息的方法 我怀疑我需要使用 Git hook 但我以前从未使用过它们 所以我需要一个push朝着正确的方向 具体来说 我想实现以下流程 每次提交后都会自动执行 PHP 脚本 该脚本捕获 Git
  • WebRTC 与 python

    我想用 python twisted 制作一个流服务器 它接收 WebRTC 视频流 然后对其应用一些 OpenCV 算法 但是我找不到 WebRTC 的 python 模块 如何使用 python twisted 发送和接收 WebRTC
  • 在elasticsearch中截断索引

    等效操作是什么elasticsearch为了做 TRUNCATE mytable 我要截断的索引称为 myindex 换句话说 在操作之后 我希望索引 myindex 中有零个文档 您需要删除索引 然后重新创建它 虽然这需要您再次设置映射
  • Android中如何根据POJO类的类项在CustomListView中实现搜索?

    我有一个自定义列表视图 我必须显示来自网络服务器的数据 我需要根据 EditText 的输入实现搜索 ListView 中的每一行包含图像 标题和消息 图像根据 Web 服务器的响应进行更改 看一下代码 class CustomListVi
  • WPF 中未显示按钮的背景图像

    我有一个程序 其中有很多按钮 每个按钮的背景设置为
  • 检测 PHP 中的 Ajax

    我正在尝试将 ajax 发布到同一个 php 页面 Ajax loginForm submit function e e preventDefault var postData this serialize post login php p
  • OpenGL ES 2.0 通过共享 C++ 代码在 ios 和 android 上进行抗锯齿或平滑处理

    我对 OpenGL 和 ES2 0 还很陌生 我共享了c opengl es2代码 我用它在ios和android上绘制 使用ndk CMake 它大部分都可以工作 但现在我需要抗锯齿并且它有点令人困惑 我看到的解决方案是依赖于平台和and
  • 类型错误:无法连接电子邮件中的“str”和“list”对象

    我正在用 python 发送电子邮件 现在 我想通过电子邮件发送列表中的条目 但遇到错误 TypeError 无法连接 str 和 list 对象 我不知道如何调试它 以下是我的代码 我对这门语言还是新手 三周 所以我有一些背景知识 imp
  • Symfony2 中的 LDAP 集成

    我是 symfony 和 LDAP 的新手 有没有在 symfony2 中集成 LDAP 的分步教程或视频 我不知道有关 Symfony2 中 LDAP 的任何教程或视频 但这里有我在许多项目中使用的 2 个包 OpenSkyLdapBun
  • Snowflake支持索引吗?

    在 Snowflake 文档中 我找不到使用索引的参考 Snowflake 是否支持索引 如果不支持 使用 Snowflake 时性能调整的替代方法是什么 Snowflake 不使用索引 这是使 Snowflake 对于任意查询具有良好扩展
  • 适用于 Windows 的 NPM 包“bin”脚本

    Cucumber js 提供了一个命令行 二进制文件 这是一个简单的 js文件包含一个shebang操作说明 usr bin env node var Cucumber require lib cucumber 二进制文件在中指定packa