【问题标题】:node js link commands running errornode js链接命令运行错误
【发布时间】:2016-10-05 16:52:50
【问题描述】:

我正在使用 package.json 中的节点 bin 对象创建节点命令,但由于 microsoft javascript 运行时,这些命令无法执行。如何指向节点环境

{ 
"name": "test",
 "version": "1.0.0",
 "description": "",
  "main": "index.js",
 "scripts": {
  "test": "echo \"Error: no test specified\" && exit 1"
  },
 bin":{
"runMy":"index.js"
 },
 "author": "",
"license": "ISC"
}

index.js 文件有 console.log("Happi")..

我使用 npm link 命令来“链接”命令来全局链接命令。

当我运行“runMy”命令时,出现以下微软错误

【问题讨论】:

  • my post below 回答您的问题了吗?如果确实如此,那么您可以考虑accepting the answer,因为现在其他搜索此问题的人看到您的问题没有被您接受的好答案。如果它没有回答您的问题,请评论缺少的内容。我正在浏览我的旧答案,如果他们需要改进,我想更新它们。谢谢。

标签: javascript node.js node-modules


【解决方案1】:

您可以尝试一些可以解决问题的方法。我没有 Windows 来测试它,但您可以尝试以下方法:

首先,确保将 shebang 行添加为脚本的第一行:

#!/usr/bin/env node

所以脚本看起来像这样:

#!/usr/bin/env node
console.log("Happi");

请注意,shebang 行之前没有空格或任何内容 - “#”哈希字符是文件的第一个字符。

Windows 系统不使用该行——它用于类 Unix 系统——但当 Node 的 cmd-shim 看到该行时,它应该在 Windows 上安装正确的包装器。

我不确定运行 npm link 是否足够或运行 npm install ... 来安装该模块是否需要 cmd-shim 才能生效。

你可以尝试的另一件事是改变:

"runMy": "index.js"

到:

"runMy": "node index.js"

这应该在 package.json 的“脚本”部分中起作用。我不确定这是否适用于“bin”部分。

还有一个 wrap-cmd 模块可以让你手动包装你的脚本,见https://www.npmjs.com/package/wrap-cmd

最后,您可以编写自己的 .cmd 或 .bat 文件来运行“node your-script.js”。 example.bat 文件可能如下所示:

@echo off
node c:\path\to\your_program.js

只要您的 PATH 中有节点,它就应该可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-08
    • 1970-01-01
    • 2015-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-24
    相关资源
    最近更新 更多