【发布时间】:2019-09-07 16:09:14
【问题描述】:
我正在关注在 Node 中构建 cli 工具的教程 -- How to Build a Command Line (CLI) Tool in Node。
环境:
- 指挥官
- 节点 9.5.0
- npm 6.11.3
- Windows 10
我已经到了让您将其创建为 shell cmd 并使用npm link 链接它的地步。而不是在我的 shell 中运行它——就像 create-react-app 一样——而是出现 Windows Script Host 错误:
Line: 1
Char: 1
Error: Invalid Character
Code: 800A03F6
Source: Microsoft JScript compilation error`
当我运行where npm 时,我得到:
C:\Program Files\nodejs\npm
C:\Program Files\nodejs\npm.cmd
C:\Users\smkar\AppData\Roaming\npm\npm
C:\Users\smkar\AppData\Roaming\npm\npm.cmd`
但是当我运行where caph 时,我得到:
D:\Code\projects\cap-hooks\caph.js
C:\Users\smkar\AppData\Roaming\npm\caph
C:\Users\smkar\AppData\Roaming\npm\caph.cmd`
我很确定错误是因为它试图从 D 驱动器上的本地 javascript 文件打开它,但我不知道如何修复它。我正在尝试制作一个用于娱乐/学习的 CLI 工具,并且我希望能够在全球范围内安装该工具,但我无法从此处继续/修复此问题。
这里是文件和 package.json 供参考:
package.json
{
"name": "caph",
"version": "0.0.1",
"description": "An automated cli package for generating administrative
tools and components for React projects, written in
React Hooks.",
"main": "caph.js",
"bin": {
"caph": "./caph.js"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "smkarber",
"license": "ISC"
}
caph.js
#!/user/bin/env node
console.log("Hello World!");
运行npm link 后,我可以在我的shell 中使用caph,但它会立即给我一个Windows Script Host 错误,而不是在shell 中运行它。我已经尝试了许多从 Google 返回的 Github 问题以及一些 Stackoverflow 问题,但似乎没有直接涉及修复这种情况,我无法纠正这种情况。
【问题讨论】:
标签: node.js npm windows-10 command-line-interface