如何查找已安装Node.js或npm包的版本?

这将打印npm本身的版本:

npm -v <package-name>

这将打印一个隐藏的错误:

npm version <package-name>

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

npm view <package-name> version

如何获取已安装的版本?


当前回答

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

npm信息<包名>版本

其他回答

对于本地包使用npm列表,对于全局安装的包使用npm-list-g。

通过将特定包的名称作为参数传递,可以找到该包的版本。例如,npm list grut将导致:

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

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

├─┬ 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参数来列出已安装的包,而不列出它们的依赖项。

结合上面的一些答案,生成一个超级简单和超级快速的查找。

从项目根目录运行。无需cd到任何文件夹中,只需一行:

node-p“require('OMEPACKAGE/package.json').version”

您可以使用npm view[module]版本、npm info[module]version、npm show[module]-version或npm v[module]]版本来检查已安装的npm模块的版本。

假设我的Grunt模块版本为0.4.5:

npm view grunt version => 0.4.5
npm info grunt version => 0.4.5
npm show grunt version => 0.4.5
npm v grunt version    => 0.4.5

这有一个简单的方法。首先,转到所需的位置(package.json所在的位置)。只需将package.json文件作为文本编辑器打开即可。

通过此方法,您可以在一个位置找到所有模块版本。

package.json看起来像这样

{
  "name": "raj",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "bcrypt": "^5.0.1",
    "connect-flash": "^0.1.1",
    "dotenv": "^10.0.0",
    "ejs": "^3.1.6",
    "express": "^4.17.1",
    "express-session": "^1.17.2",
    "mysql2": "^2.2.5",
    "passport": "^0.4.1",
    "passport-local": "^1.0.0",
    "sequelize": "^6.6.2",
    "socket.io": "^4.1.2"
  }
}

因此,您可以读取pc中安装的每个依赖项(模块),即“socket.io”:“^4.1.2”,因此“socket.io'”的版本为4.1.2。

我们可以使用npm查看任何promise(您的模块名称)-v