我正在按照这里的教程在Node中建立一个Cli工具------。如何在Node中构建一个命令行(CLI)工具?.
环境:
我现在的情况是,它让你把它创建成一个shell cmd,然后使用 npm link
. 它没有在我的shell中运行--就像create-react-app一样--而是以Windows脚本主机错误为由出错。
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文件中打开它,但我不知道如何解决这个问题。我想为funlearning做一个CLI工具,我希望能够全局安装这个工具,但我一直无法从herefix这个。
这里是文件和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
,我可以用 caph
但它立即给我一个Windows脚本主机错误,而不是在shell中运行它。我尝试了许多从Google返回的Github问题以及一些Stackoverflow的问题,但似乎没有任何东西直接提到修复这种情况,我无法纠正这种情况。
它必须是 /usr/
不 /user/
. 所以... caph.js
应该是这样的。
#!/usr/bin/env node
console.log("Hello World!");