node.js - Dialogflow Package.json 更新
问题描述
我担心与package.json(对话框流)相关的更新。我想知道何时需要更新依赖项。例如,我有"actions-on-google": "^ 2.2.0"
并检查新版本"3.0.0"或"nodemailer": "6.4.11"
新版本"6.7.0"。我想澄清一下,对于所有以前的版本,对话流代理实际上都可以正常工作。但是,将来如果没有更新,它可能无法工作......有人可以给我一个建议吗?谢谢
解决方案
应用程序依赖于各种第三方包。随着时间的推移,对应用程序的依赖会发生变化。
关于依赖项更新,您需要了解两件事。
何时以及为什么需要更新应用程序的依赖项。
您需要更新依赖项的一些原因:
- 安全和严重错误修复。安全更新和其他关键错误修复需要尽快进行。应用程序需要足够安全,以免有人窃取您的数据或您的数据被损坏。
- 具有新功能的新版本。更新有新的 API,不那么重要但仍然是一个有用的错误修复。
为了获得最佳实践,您应该至少每月更新一次或两次依赖项。大多数依赖项不会有更新,或者只有点发布,这使得更新风险低。频繁更新时,应该只发生少量的重大更改,因此如果出现问题,您将能够轻松定位问题。
与包版本相关的符号。
版本号分为三个值。这些被称为
major
和。例如,major 为 6,minor 为 4,patch 为 11。patch 会最频繁地更改(对于非常小的更改),而major 只有在进行重大或严重的代码大修时才应更改。minor
patch
"nodemailer": "6.4.11"
符号:
平等。如果不是版本号前面的运算符或前面有等号。示例,
"nodemailer": "6.4.11"
或"nodemailer": "=6.4.11"
小于/大于。您将看到
<=
、>
等。例如,"nodemailer": ">=6.4.11"
将匹配 6.7.0、6.6.5、6.5.0 等。连字符。您可以
-
在您指定的两个版本之间使用。如果您需要维护一些您知道会在特定版本中破坏的旧功能,这将非常有用。例如,6.4.11 - 6.6.5
。这将包括两个端点。X 标记该点。X、x 或 * 中的任何一个都可用于“代替”其中一个数值。例子:
* := >=0.0.0
(任何版本都可以)6.x := >=6.0.0 <7.0.0
(匹配主要版本)6.4.x := >=6.4.0 <6.5.0
(匹配主要和次要版本)
波浪号 意思是“
~
近似版本”。这允许更新的补丁,但不接受任何具有不同次要版本的软件包。例如,~6.4.11
将允许 和 之间的值,不 包括 6.5。6.4.11
6.5
克拉。意思是“
^
与版本兼容”,比波浪号更广泛。它只拒绝对主要版本的更改。例如,^6.4.11
将允许值 和 之间的任何版本7.0.0
,不包括版本 7。
有关更多信息,请查看语义版本控制。
推荐阅读
- typescript - 在 Typescript 中简单、类型安全地使用 API
- vue.js - 如何将完成的 nuxt.js 应用程序部署到网络服务器?
- powershell - 检查字符串中的特殊字符
- javascript - 通过客户端 JS 将 HTML 输入到 JSON
- mongodb - Spring Data Aggregation 在嵌套文档结构中仅采用默认 id
- java - 使用 Exactly Once 处理的 Kafka 的 Spring Boot
- php - SAML 给出未处理的异常
- python - scrapy 错误:/usr/local/bin/scrapy:没有这样的文件或目录
- python - 如何在 django 中获取登录用户的所有对象的列表?
- laravel - 启用 AuthenticateSession 中间件后,Laravel 登录到管理仪表板重定向到 404 页面