我对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
请告诉我这里出了什么问题。
4条答案
按热度按时间a64a0gku1#
你可以尝试
npm install -g nyc
如果你想保存到全局dced5bon2#
转到项目的根文件夹。
运行
npm init
,这将创建package.json文件。然后运行
npm i nyc
。如果你想把它安装为一个开发依赖项,使用下面的命令。
cyvaqqii3#
我也遇到了同样的问题。在我的例子中,这是因为我的Windows用户名中有一个空格。它是“firstName lastName”。
我有两个解决办法。
1.你可以从win store安装wsl和Ubuntu LTE,然后添加扩展到可视化代码,这样你就可以运行Linux终端了。它将要求为Linux和所有其他工作人员安装节点。
1.您可以创建新的Windows用户并在“运行方式”模式下使用VS代码。(按住Shift键并右键单击)。如果没有为所有用户安装VS代码,则必须为这个新创建的用户添加访问权限。
我选择了第二种解决方案,它对我很有效。
bweufnob4#
有两种方法可以实现这一点
1.将
nyc
安装为设备依赖项1.将
nyc
安装为全局依赖项**注意:**对于我来说,将其安装为dev-dependency要好得多。
让我们运行
npm i nyc -D
。这将执行什么操作?这将在package.json和node_modules中查找此包。您无法通过cli运行它的原因是它未在系统变量中注册。那么,您可能会问,我们如何运行它?我们在package.json中创建一个script要运行它,只需
npm run nyc
现在让我们把它作为一个全局依赖项来安装。把一个包作为一个全局依赖项来安装,意味着我们不把这个包添加到我们的package.json和node_modules中,但是如果它是CLI,那么它会把自己注册为一个系统变量。