NPM 显示已安装和过期的 package 包
NPM 是使用 Node.js 时首选的包管理器。 我们不需要强调了解工具的重要性,当然,这也适用于 NPM。 这篇文章将向大家展示使用 NPM 显示本地存储库的已安装包或系统上全局安装的包的提示和技巧。
为了运行本文中使用的命令,我们在 3.3.4 版本中利用了 NPM。 我们应该保存运行任何 2.x 版本的 NPM 并且具有与以下示例相同的输出。
查看已安装的包
在阅读使用 NPM 显示已安装的包时,我们首先想到的是:为什么我不应该只打开 package.json 并查找依赖项部分? 你知道,这肯定是一个有效的想法,当然你会找到你要找的东西。 问题是,使用命令行可能更快,或者我们不想打开 IDE 只是为了查看给定的包是否是项目中的依赖项。
可以利用 NPM 的功能并列出项目的已安装包。 以下命令将打印已安装软件包及其依赖项的列表:
$ npm ls
# 或者
$ npm list
如果我们只对直接依赖的已安装软件包列表感兴趣,请使用 --depth
选项并传递 --depth=0
。
$ npm ls --depth=0
jiyik-homepage@1.0.0 /Users/jiyik/Dev/FutureStudio/homepage
├── bcrypt-as-promised@1.0.1
…
└── when@3.7.3
还有一个 NPM 命令可以在列出已安装的模块时打印额外的包信息:
$ npm ll
# 或者
$ npm la
npm ll
和 npm la
两个命令都将打印相同的信息,如下所示:
$ npm ll
jiyik-homepage@2.0.1
│ /Users/jiyik/Dev/FutureStudio/homepage
│ Future Studio homepage based on hapi, handlebars and Twitter bootstrap
│ https://www.jiyik.com/giturlto/homepage.git
│ https://www.jiyik.com
├── bcrypt-as-promised@1.0.1
│ A promisified bcrypt
│ git+ssh://git@github.com/iceddev/bcrypt-as-promised.git
│ https://github.com/iceddev/bcrypt-as-promised
…
└── when@3.7.3
A lightweight Promises/A+ and when() implementation, plus other async goodies.
git+https://github.com/cujojs/when.git
http://cujojs.com
我们将看到一般项目信息,包括当前版本号、项目在本地系统上的位置、项目描述和 url。所有这些信息都是从你的 package.json 文件中读取的,没有附加任何其他的技术。此外,依赖树将列出已安装的包,还包括版本号、包描述、git url 和主页。
有用的选项:
-
--json
:布尔类型,默认值为 false,可能值为 true|false ; -
--long
:布尔类型,默认值为 false,可能值为 true|false; -
--depth
:int 类型并且可能的值是任何正数
注意:还有仅显示生产依赖项 --prod=true
或仅显示开发依赖项 --dev=true
的选项。老实说,我们从不将已安装包的列表限制在给定的环境中,因为我们对所有包的列表感兴趣。我们可以在 NPM 的 ls 文档页面上找到有关 --dev 和 --prod 选项的更多信息。
过期的包
维护我们的应用程序和依赖项对于安全性和从我们依赖的包中获取新的可用功能至关重要。 NPM 提供了 outdated
命令来打印过期包的列表。
$ npm outdated
过时软件包列表包括当前安装的版本、在 package.json 文件中定义的所需版本以及模块的最新稳定版本。 输出还显示了一个位置,该位置指示我们为其请求过时包列表的项目名称。
$ npm outdated
Package Current Wanted Latest Location
boom 2.7.2 2.7.2 2.9.0 jiyik-homepage
handlebars 3.0.3 3.0.3 4.0.3 jiyik-homepage
hapi 8.5.3 8.5.3 10.0.1 jiyik-homepage
正如我们在上面的示例中所看到的那样,我们的主页项目目前有三个过时的包。 好的,好的,你已经说明了你的观点:D … 需要维护!
我们还可以对全局安装的软件包使用 outdated 的命令:
$ npm outdated -g
你看,我的机器上也有三个包过时了。
$ npm outdated -g
Package Current Wanted Latest Location
npm-check-updates 2.2.0 2.2.3 2.2.3 lib
pm2 0.14.7 0.15.5 0.15.5 lib
supervisor 0.7.1 0.8.0 0.8.0 lib
选项
过时的软件包也有选项。 下面的示例使用 --long
选项额外显示过时包的包类型。 包类型是依赖项或 devDependencies。
$ npm outdated --long=true
Package Current Wanted Latest Location Package Type
boom 2.7.2 2.7.2 2.9.0 jiyik-homepage dependencies
handlebars 3.0.3 3.0.3 4.0.3 jiyik-homepage dependencies
hapi 8.5.3 8.5.3 10.0.1 jiyik-homepage dependencies
-
--long
:布尔类型,默认值为false,可能值为true|false -
--depth
: int 类型,可能的值是任何正数
注意:还可以选择将过期包列表打印为 JSON (--json=true)。 选项的完整概述可在 NPM 的文档页面上找到。
相关文章
使用 NPM 将 TypeScript 更新到最新版本
发布时间:2023/03/19 浏览次数:120 分类:TypeScript
-
本教程说明了如何使用 npm 更新到最新版本的 TypeScript。这将为如何使用 npm 将 TypeScript 更新到最新版本提供完整的实际示例。
pm2: command not found error 错误解决
发布时间:2022/09/27 浏览次数:339 分类:学无止境
-
使用 npx 解决错误“pm2: command not found”,例如 npx pm2 启动 app.js 或通过运行 npm install -g pm2 全局安装包,以便能够使用不带 npx 前缀的命令。
解决 Cannot find module 'lodash' 错误
发布时间:2022/09/21 浏览次数:230 分类:学无止境
-
要解决错误“Cannot find module 'lodash' ”,请确保通过在项目的根目录中打开终端并运行以下命令来安装lodash软件包:npm i lodash。 如果使用Typescript,请通过运行 NPM I -D @Types/lodash安装。
Cannot find module 'date-fns' 错误
发布时间:2022/09/16 浏览次数:154 分类:学无止境
-
要解决错误“Cannot find module 'date-fns'”,请确保通过在项目的根目录中打开终端并运行以下命令来安装 date-fns 包:npm i date-fns 并重新启动 IDE 和开发服务器。
Cannot find module 'prettier' 错误
发布时间:2022/09/16 浏览次数:558 分类:学无止境
-
要解决错误“Cannot find module 'prettier'”,请确保通过在项目的根目录中打开终端并运行以下命令来安装 prettier 包:npm install --save-dev prettier。
解决 Cannot find module 'webpack' 错误
发布时间:2022/09/16 浏览次数:154 分类:学无止境
-
要解决“Cannot find module 'webpack'”错误,需要确保通过运行 npm i -g webpack 命令全局安装 webpack,并通过运行 npm link webpack 命令创建从全局安装的包到 node_modules 的符号链接。
构建、测试和发布 NPM 包
发布时间:2022/09/03 浏览次数:93 分类:学无止境
-
在本文中,我们将构建、测试和发布一个 npm 包,来检查字符串是否为电子邮件地址。 因此,如果想知道我们将如何做,请系好安全带,然后出发
NPM 使用快捷方式安装 package 包
发布时间:2022/08/14 浏览次数:154 分类:学无止境
-
对于使用 NPM 安装包大家都熟悉,我们希望通过向大家展示包安装的快捷方式来提高大家的工作效率。 NPM 为从命令行执行的重复命令集成了多个时间节省器。
如何修复 NPM ERR Does Not Satisfy Its Siblings' peerDependencies Requirements
发布时间:2022/08/02 浏览次数:126 分类:学无止境
-
Npm ERR peerDependencies 这个错误很奇怪,因为它出现在你尝试使用 NPM 全局安装新包时,`npm install -g
`。 这个命令的输出是这样的: