文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

查找已安装 npm 包的版本

2023-08-30 13:08

关注

问:

如何查找已安装的 node.js/npm 包的版本?

这将打印 npm 本身的版本:

npm -v 

这会打印一个神秘的错误:

npm version 

这会在注册表上打印软件包版本(即可用的最新版本):

npm view  version

如何获取已安装的版本?

答1:

huntsbot.com洞察每一个产品背后的需求与收益,从而捕获灵感

npm list 用于本地软件包或 npm list -g 用于全局安装的软件包。

您可以通过将其名称作为参数传递来查找特定包的版本。例如,npm list grunt 将导致:

projectName@projectVersion /path/to/project/folder└── grunt@0.4.1

或者,您可以只运行 npm list 而不传递包名称作为参数来查看所有包的版本:

├─┬ cli-color@0.1.6 │ └── es5-ext@0.7.1 ├── coffee-script@1.3.3 ├── less@1.3.0 ├─┬ sentry@0.1.2 │ ├── file@0.2.1 │ └── underscore@1.3.3 └── uglify-js@1.2.6 

您还可以添加 --depth=0 参数以列出已安装的软件包而不列出其依赖项。

在 mac 和 linux 上,添加“|grep module_name”很好,以过滤所需的模块版本。尤其是在使用 -g 全局运行时。例如:“npm list -g | grep express”获取已安装的 express 版本。

如果你想要一个特定的模块,你可以像npm list less-middleware那样运行它作为例子。

根据 @guya 针对基于 *nix 的系统的提示,在 Windows 上,您可以使用 PowerShell 获得类似结果:| select-string module_name 过滤模块。或者,如果您使用的是 Git Bash(或者只是 Bash,就此而言),您可以使用 grep。

如果您不记得 list,npm ls 也可以。事实上,许多 npm 命令都有别名,而且,如果你键入命令的子字符串,如果这个子字符串是明确的,它也可以工作;例如 npm ls、npm list、npm lis 都是一样的。如果您想要更详细的输出,请尝试 npm ll(但可能您希望将 --depth=0 添加到其中)。

输出不是使用脚本解析的最佳选择。是否真的没有办法获得只是包版本的输出而不必执行npm list -g | awk -F@ '// { print $2}'之类的操作

答2:

与HuntsBot一起,探索全球自由职业机会–huntsbot.com

另一种快速找出哪些软件包安装在本地并且没有依赖项的方法是使用:

npm list --depth=0

这给了你类似的东西

├── bower@0.8.6├── grunt@0.4.1├── grunt-bower-requirejs@0.4.3├── grunt-contrib-clean@0.4.1├── grunt-contrib-coffee@0.7.0├── grunt-contrib-copy@0.4.1├── grunt-contrib-imagemin@0.1.4├── grunt-contrib-jshint@0.1.1├── grunt-contrib-livereload@0.1.2├── grunt-contrib-requirejs@0.4.1├── grunt-regarde@0.1.1└── grunt-svgmin@0.1.0

显然,同样可以使用 npm list -g --depth=0 全局完成。

如果你安装了很多包,这种方法会更清楚。

要找出需要更新的软件包,您可以使用 npm outdated -g --depth=0。

它给我的和没有 --depth 一样

看来他们已经在 npm 1.4.6 中修复了它。请参阅github.com/npm/npm/issues/4733

与 | grep 配合得很好

@ygaradon 正确,但 --depth=0 使它更快,因为它不必递归加载依赖项

npm list -g --depth=0 用于全局安装的列表模块

答3:

huntsbot.com精选全球7大洲远程工作机会,涵盖各领域,帮助想要远程工作的数字游民们能更精准、更高效的找到对方。

npm view version - 返回软件包的最新可用版本。

npm list --depth=0 - 返回所有已安装模块的版本,没有依赖关系。

npm list - 返回所有模块和依赖项的版本。

最后获取节点版本:node -v

npm 查看 版本,转到 npm 远程注册表,而不是本地文件系统...

@AlexanderMills 是的,但是将它放在这里可以避免再次搜索。顺便说一句,npm v、npm info 和 npm show 都是 npm view 的别名。

同样,npm view versions 将返回软件包的所有版本,而不仅仅是最新版本。

答4:

huntsbot.com提供全网独家一站式外包任务、远程工作、创意产品分享与订阅服务!

npm info YOUR_PACKAGE version

例如

npm info grunt version0.4.5

这不显示已安装的软件包版本,它只显示最新的可用版本。

同意@tanner-semerad。我检查了 Docs of npm 以清除它。 npm info 是 npm view 的别名,在 Docs of npm 中您会发现: 此命令显示有关包的数据并将其打印到 outfd 配置引用的流中,默认为 stdout。 [...] 如果未指定,默认版本为“最新”。这就是我投反对票的方式。

显示可用的最新版本,而不是最新安装的。否决。

npm info YOUR_PACKAGE version 唯一有效的 :)

不,如前所述,这将在注册表中显示最新版本。如果您的本地依赖项碰巧在最新版本上,则此“似乎”有效。但如果不是,您将看不到使用此命令实际安装的(旧)版本。

答5:

huntsbot.com汇聚了国内外优秀的初创产品创意,可按收入、分类等筛选,希望这些产品与实践经验能给您带来灵感。

从包的根目录执行:

node -p "require('./package.json').version"

编辑:(因此,如果您还没有进入模块的主目录,则需要 cd。如果您使用 npm install 安装了模块,那么它将在 node_modules/ 下)

编辑 2:根据@jeff-dickey 的回答更新

好的!正如其他答案所建议的那样(〜1s而不是〜20s)比运行“npm list”快得多 - 至少当你准备好这个代码片段时! (真的应该有一个 npm 插件来做到这一点......)

或node -p "require('./package.json').version"

如果有 ^ ~ 之类的范围分隔符,则不会安装实际版本

我想反对@geedew 的评论。这个答案建议在已安装模块的根文件夹中运行。在已安装模块的 package.json 中,您将(!)找到实际安装的版本。

答6:

huntsbot.com聚合了超过10+全球外包任务平台的外包需求,寻找外包任务与机会变的简单与高效。

我刚用

npm list | grep 

效果很好

在 Windows 上运行:

npm list | find 

在 PowerShell 中运行:

npm list | sls 

find 版本对我不起作用 - 即使使用带引号的字符串,但 powershell 运行良好

对于 Windows 用户: npm list -g --depth=0 |find ""注意 双引号

答7:

一个优秀的自由职业者,应该有对需求敏感和精准需求捕获的能力,而huntsbot.com提供了这个机会

这很简单…只需在下面输入

npm view  version

例子

npm view redux version

我有版本 7.2.0 的 redux

它有效😍这应该是现在接受的答案。

打败我为什么“npm view < package-name > --version”不被接受!

注意:这不显示已安装的版本。它显示了 npm 上的最新可用版本。

正如@FelixAlcala 所说,这不显示已安装软件包的版本,仅显示最新可用的版本。

@KieranRyan,因为这是错误的。 (参见 Felix 和其他人的评论。)

答8:

huntsbot.com洞察每一个产品背后的需求与收益,从而捕获灵感

对于本地包

npm list --depth=0

对于全球包裹

npm list  -g --depth=0

答9:

打造属于自己的副业,开启自由职业之旅,从huntsbot.com开始!

结合上面的一些答案并产生一个超级简单和超级快速的查找。从项目根目录运行。无需 cd 进入任何文件夹,只需 1 行:

node -p “require(‘SOMEPACKAGE/package.json’).version”

保持自己快人一步,享受全网独家提供的一站式外包任务、远程工作、创意产品订阅服务–huntsbot.com

答10:

huntsbot.com洞察每一个产品背后的需求与收益,从而捕获灵感

如果您同意安装 jq,则可以使用 npm list 的 JSON 输出。

npm -j ls  | jq -r .version

或者,如果你想详细一点

npm --json list  | jq --raw-output '.version'

例如:

$ npm -j ls ghost | jq -r .version0.4.2

此外,全局包的 JSON 格式略有不同,因此您需要更改查询。

例如:

$ npm -j -g ls | jq -r .dependencies.ghost.version0.4.2

答11:

保持自己快人一步,享受全网独家提供的一站式外包任务、远程工作、创意产品订阅服务–huntsbot.com

您还可以使用以下命令检查版本:

npm info version

同样,它显示包注册表中可用的最新版本,而不是当前安装的包的版本。

@DawidFerenczy 同意其仅显示最新版本,例如 npm info httpaction

原文链接:https://www.huntsbot.com/qa/xMEM/find-the-version-of-an-installed-npm-package?lang=zh_CN&from=csdn

huntsbot.com聚合了超过10+全球外包任务平台的外包需求,寻找外包任务与机会变的简单与高效。

来源地址:https://blog.csdn.net/kalman2019/article/details/128476046

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯