安装后,nyc无法识别为命令

问题描述

我对node.js,npm和JavaScript还是很陌生,但是要尝试使用Istanbul工具进行代码覆盖,因此将nycnpm i nyc一起安装,指向https://www.npmjs.com/package/nyc,其输出类似于

C:\Users\user>npm i nyc
npm WARN saveError ENOENT: no such file or directory,open 'C:\Users\user\package.json'
npm WARN enoent ENOENT: no such file or directory,open 'C:\Users\user\package.json'
npm WARN user No description
npm WARN user No repository field.
npm WARN user No README data
npm WARN user No license field.

+ nyc@15.1.0
updated 1 package in 1.334s

9 packages are looking for funding
  run `npm fund` for details

但是当我在命令提示符下按nyc时,它说-nyc不被识别为内部或外部命令。

根据文档,我在下面添加了dev依赖项,但看到了相同的错误

C:\Users\user>npm i -D nyc
npm WARN saveError ENOENT: no such file or directory,open 'C:\Users\user\package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory,open 'C:\Users\user\package.json'
npm WARN user No description
npm WARN user No repository field.
npm WARN user No README data
npm WARN user No license field.

+ nyc@15.1.0
added 142 packages from 99 contributors in 48.325s

9 packages are looking for funding
  run `npm fund` for details

请指导我这里有什么问题。

解决方法

转到项目的根文件夹。
运行npm init,这将创建package.json文件。
然后运行npm i nyc

如果要将其安装为开发依赖项,请使用以下命令。

npm install --save-dev nyc
,

我遇到了同样的问题。就我而言,这是因为我的 Windows 用户名中有一个空格。它是“firstName lastName”。

我有两个解决方案。

  1. 您可以从 win store 安装 wsl 和 Ubuntu LTE,然后为可视代码添加扩展,这样您就可以运行 Linux 终端了。它需要为 Linux 和所有其他员工安装 node。
  2. 您可以创建新的 Windows 用户并在“运行方式”模式下使用 VS Code。 (移动并右键单击)。如果您没有为所有用户安装 VS Code,则必须为这个新创建的用户添加访问权限。

我采用了第二种解决方案,它对我有用。