如何使用npm更新特定子包版本

sor*_*h86 5 javascript node.js npm minimatch gulp

我检查了全局包 minimatch 的 gulp

$ npm list -g minimatch

+-- gulp@3.9.1
| `-- vinyl-fs@0.3.14
|   +-- glob-stream@3.1.18
|   | +-- glob@4.5.3
|   | | `-- minimatch@2.0.10  deduped
|   | `-- minimatch@2.0.10
|   `-- glob-watcher@0.0.6
|     `-- gaze@0.5.2
|       `-- globule@0.1.0
|         +-- glob@3.1.21
|         | `-- minimatch@0.2.14  deduped
|         `-- minimatch@0.2.14
Run Code Online (Sandbox Code Playgroud)

现在,我想将特定 gulp 包(所有 minimatch@0.2.14 和 minimatch@3.04)中的所有 minimatch 版本更新到最新版本。

npm 中是否有任何命令可以更新我现有的包依赖项?

小智 1

这是我的解决方案,您可以使用以下命令为 minimatch 包创建符号链接

npm ln
npm link (in package dir)
npm link [<@scope>/]<pkg>[@<version>]
Run Code Online (Sandbox Code Playgroud)

这是更多说明的链接https://docs.npmjs.com/cli/link

我认为你一定不要手动更新它们,因为如果出现问题,你将不得不删除所有内容并重新安装。如果有一些迁移问题困扰您,请尝试。

npm audit [--json|--parseable]
npm audit fix [--force|--package-lock-only|--dry-run|--production|--only=dev]
Run Code Online (Sandbox Code Playgroud)

这是文档https://docs.npmjs.com/cli/link