node.js - 如何排除不安全的 package.json 临时依赖项?
问题描述
我有一个package.json会给出大量的安全警告。查看第一个关键项目,我看到它的open@0.0.5已经五年没有更新了。查看npm ll
它包含在npm@6.5.0中,我使用的是大约两周前更新的最新版本。
我想删除不安全的依赖项。在 Java 世界中,maven 包管理器允许您排除某些传递依赖项。理想情况下,使用npm
或另一个节点包管理器,我应该能够排除存在漏洞的依赖项。然后我可以重新测试我的应用程序是否正常工作,并且看不到任何安全错误。有没有办法从我的 package.json 中快速排除任何有安全漏洞的东西?如果没有办法做到这一点,可以采取哪些方法来确保我的应用程序不使用不安全的包?
更新:虽然"npm": "^6.5.0"
在 package.json 中指定了,但我使用较旧的 npm 构建它,该 npm 解决了上面提到的关键问题。我解决了所有问题./node_modules/.bin/npm audit fix --force
解决方案
根据定义,您不能排除您正在使用的依赖项所依赖的包。换句话说,如果您需要 package A
,并且 packageA
声称它依赖于 package B
,那么删除 packageB
将导致A
完全停止工作或开始出现异常行为。
不幸的是,这确实发生了,您的选择包括:
- 忽略安全警告。
A
用其他东西替换包(在某些情况下适用,在其他情况下不适用)。- 要求包的维护者
A
升级B
他们所依赖的包的版本,可能自己打开一个拉取请求。
不过,在您的情况下,我不确定您的调查是否已经完成 - 我open
在 npm 的依赖项列表中没有看到。可能值得废弃你的 node_modules 并重新运行 npm install,然后再次检查以查看谁在使用open
.
推荐阅读
- flutter - 底部工作表中的范围滑块无法正常工作
- plotly-dash - dash Dropdown 根据选择的数量提供字符串或列表
- php - 无法在 Laravel Dusk SQLSTATE [HY000] [2002] 中使用 DatabaseMigrations 连接被拒绝
- logging - 请求日志是什么日志级别?
- python - NumPy 版本的“指数加权移动平均线”,相当于 TradingView RMA
- ios - 视频预览显示黑屏 - iOS
- java - Java如何强制泛型类型
- java - Android Studio org.json.JSONException:值
我正在尝试使用 volley 将一些数据发布到服务器。
问题似乎与编码的字符串图像有关。
在这条线上
String name = namefie
- javascript - 打印多页的HTML表格时,如何仅针对当前页面上的表格调整列宽?
- python - 如何分隔由';'连接的csv数据中的列 表达?