Javascript depcheck和npm check不工作
我试图检查一个节点项目是否缺少或不必要的依赖项,因此我尝试了Javascript depcheck和npm check不工作,javascript,node.js,npm,dependency-management,Javascript,Node.js,Npm,Dependency Management,我试图检查一个节点项目是否缺少或不必要的依赖项,因此我尝试了depcheck和npmcheck,但它们都以相同的方式失败,声称所有五个依赖项在实际使用时都是不必要的,就我所见,它们都是以正常的方式使用的package.jsonbin指向ayane.js,其中包含依赖项的require指令。我尝试将--ignore bin package=false指定为depcheck,但没有任何区别。这个项目很小很简单,没有做任何奇怪的事情 我错过了什么?这两个程序都被广泛使用;它们是否存在已知问题?否则,您
depcheck
和npmcheck
,但它们都以相同的方式失败,声称所有五个依赖项在实际使用时都是不必要的,就我所见,它们都是以正常的方式使用的package.json
bin
指向ayane.js
,其中包含依赖项的require
指令。我尝试将--ignore bin package=false
指定为depcheck
,但没有任何区别。这个项目很小很简单,没有做任何奇怪的事情
我错过了什么?这两个程序都被广泛使用;它们是否存在已知问题?否则,您可以尝试以下步骤:
npm安装依赖项检查-g
相关性检查
依赖项检查。/package.json
有关详细信息,请访问以下网站:
如果不起作用,请检查是否存在任何路径问题。如果它仍然不工作并且没有显示消息:Success!代码中使用的所有依赖项都列在package.json中
如果您不确定是否已正确安装了所有组件,我建议重新安装npm模块。我以前为mac做过一个重新安装解决方案:事实上,depcheck
似乎不喜欢函数之外的return
语句。
如果运行depcheck--json
,可以看到depcheck
将ayane.js
视为无效文件:
“invalidFiles”:{“ayane/ayane.js”:“SyntaxError:‘return’在函数(62:1)之外…”
我不是这方面的专家,我也不经常在函数之外使用return
,因此我不确定这是否是一种不好的做法,尤其是在这种情况下(仍然对此感到好奇)
有关更多信息,请参见MDN错误参考:
您可以尝试在项目的源代码中替换这一行(例如到console.log('exit')
),并尝试重新启动depcheck
:您将不再收到“Unused dependencies”警告,而是收到一个“get stdin Missing dependencies”,这是正确的
// ayane.js l.61
if (!commander.lang && !commander.args.length && tty.isatty(process.stdin.fd))
return
如果您愿意,您可以。您可以显示任何错误消息吗?对于您的问题,是的,npm失败是很常见的。@KingReload本身没有错误消息,只是正常的消息说所有五个依赖项都未使用。npm失败是很常见的-您可以对此进行扩展吗?谢谢!这确实完成了一半的工作,检查缺少的依赖项。我是st我希望有一个程序能完成另一半,检查不必要的依赖关系。没问题✌ 也许您没有不必要的依赖项?您还可以执行npm prune
来取消生成未在包.json
中列出的模块,您可以检查npm help prune
您是否尝试过npm prune
?您还可以使用npm安装清理依赖项
。要使用此功能,请转到您要使用的目录想要清理并运行命令clean-deps
。谢谢,npm-prune
看起来确实是适合它的命令,尽管我正在寻找的是一些不同的东西。我没有遇到这种情况。depcheck--json
给出了一个以{”依赖项开头的记录“…
。可能函数之外的返回
是最近添加的功能。请尝试升级您的depcheck
?depcheck--version
0.6.7请仔细查看depcheck--json
的输出。在某些点上有一个无效文件条目。这不是一个“功能”这是AYAN.JS中的一个错误,它使得DeCube无法正常工作,并且不检查一个无效文件中的依赖项。您尝试了我建议的(替换返回语句)吗?您是对的,在该记录中间有一个无效的文件指示器,当我取出全局返回时,它就工作了。谢谢!