NPM在Windows 10中全局安装一个软件包,结果导致Windows脚本主机错误。

问题描述 投票:1回答:1

我正在按照这里的教程在Node中建立一个Cli工具------。如何在Node中构建一个命令行(CLI)工具?.

环境:

  • 环境:Cmder
  • Node 9.5.0
  • npm 6.11.3
  • npm 6.11.3

我现在的情况是,它让你把它创建成一个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的问题,但似乎没有任何东西直接提到修复这种情况,我无法纠正这种情况。

node.js npm windows-10 command-line-interface
1个回答
1
投票

它必须是 /usr//user/. 所以... caph.js 应该是这样的。

#!/usr/bin/env node
console.log("Hello World!");
© www.soinside.com 2019 - 2024. All rights reserved.