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

vwkv1x7d  于 2023-03-08  发布在  Node.js
关注(0)|答案(4)|浏览(250)

我对node.js、npm和JavaScript非常陌生,但尝试使用伊斯坦布尔工具进行代码覆盖,因此安装了nyc,其中npm 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 o命令提示符时,它说- nyc不被识别为内部或外部命令。
根据文档,我添加了以下开发依赖项,但看到相同的错误。

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

请告诉我这里出了什么问题。

a64a0gku

a64a0gku1#

你可以尝试npm install -g nyc如果你想保存到全局

dced5bon

dced5bon2#

转到项目的根文件夹。
运行npm init,这将创建package.json文件。
然后运行npm i nyc
如果你想把它安装为一个开发依赖项,使用下面的命令。

npm install --save-dev nyc
cyvaqqii

cyvaqqii3#

我也遇到了同样的问题。在我的例子中,这是因为我的Windows用户名中有一个空格。它是“firstName lastName”。
我有两个解决办法。
1.你可以从win store安装wsl和Ubuntu LTE,然后添加扩展到可视化代码,这样你就可以运行Linux终端了。它将要求为Linux和所有其他工作人员安装节点。
1.您可以创建新的Windows用户并在“运行方式”模式下使用VS代码。(按住Shift键并右键单击)。如果没有为所有用户安装VS代码,则必须为这个新创建的用户添加访问权限。
我选择了第二种解决方案,它对我很有效。

bweufnob

bweufnob4#

有两种方法可以实现这一点
1.将nyc安装为设备依赖项
1.将nyc安装为全局依赖项

**注意:**对于我来说,将其安装为dev-dependency要好得多。

让我们运行npm i nyc -D。这将执行什么操作?这将在package.json和node_modules中查找此包。您无法通过cli运行它的原因是它未在系统变量中注册。那么,您可能会问,我们如何运行它?我们在package.json中创建一个script

scripts:{
  "nyc: "nyc"
}

要运行它,只需npm run nyc
现在让我们把它作为一个全局依赖项来安装。把一个包作为一个全局依赖项来安装,意味着我们不把这个包添加到我们的package.json和node_modules中,但是如果它是CLI,那么它会把自己注册为一个系统变量。

npm i -g nyc
nyc

相关问题