我如何找出实际安装的 bower 包的版本?
How do I find out what version of a bower package is actually installed?
通常 bower.json
文件会指定一些依赖项,但通常会表达这些依赖项,以便它们允许使用一系列版本的 bower 包(例如 >=1.0
,这意味着任何高于版本 1.0).
我有一个自动化流程,需要找到当前系统上实际安装 的 bower 包的版本。
我如何以编程方式找到它(只是版本本身),最好使用标准 Unix 命令行工具/bower 命令?
bower info <thepackagename>
不 显示这个 - 它显示有关 Bower 存储库当前可用内容的信息(例如,即使我 bower info apackageIdonthaveinstalled
它仍然会显示包含版本号的有效 JSON 结构。
cat bower_components/thepackagename/bower.json | node_modules/json/lib/json.js version
适用于某些包(假设安装了 npm 包 json
),但不是所有包(例如 jquery 2.2.0 的 bower 包不包含 bower.json).
我现在找到的最好的方法是:
cat bower_components/thepackagename/.bower.json | node_modules/json/lib/json.js version
(注意 .bower.json
中的额外 .
)。
bower 似乎在 .bower.json
中存储了一些关于已安装包的元数据,其中包括已安装的版本。
到目前为止我想出的最好的是:
bower list | grep jquery | perl -pe 's/.*jquery#(.*?) .*$//'
(例如,如果我感兴趣的包是 jquery
)。
由于各种原因,这非常难看:
我必须重复包名(虽然这可能会有所改进
使用更好的 Perl 脚本也可以过滤行,我只是懒惰)。
bower list
获取有关所有已安装包的信息,而不仅仅是我感兴趣的包 - 其余信息将被丢弃。
bower list
似乎需要互联网连接才能检查注册表,否则会失败。
有兴趣看看是否可以对此进行改进,尤其是最后一点。
这是执行此操作的 grep 命令:
grep "version\"\:" bower_components/thepackagename/.bower.json
另外,一个命令可以查看项目所有 Bower 组件的版本 - 这个列表可以是一个方便的 CI 人工制品:
grep "version\"\:" bower_components/*/.bower.json
你试过吗"bower list --json=0 --offline".
它将列出所有 bower 包信息。
通常 bower.json
文件会指定一些依赖项,但通常会表达这些依赖项,以便它们允许使用一系列版本的 bower 包(例如 >=1.0
,这意味着任何高于版本 1.0).
我有一个自动化流程,需要找到当前系统上实际安装 的 bower 包的版本。
我如何以编程方式找到它(只是版本本身),最好使用标准 Unix 命令行工具/bower 命令?
bower info <thepackagename>
不 显示这个 - 它显示有关 Bower 存储库当前可用内容的信息(例如,即使我 bower info apackageIdonthaveinstalled
它仍然会显示包含版本号的有效 JSON 结构。
cat bower_components/thepackagename/bower.json | node_modules/json/lib/json.js version
适用于某些包(假设安装了 npm 包 json
),但不是所有包(例如 jquery 2.2.0 的 bower 包不包含 bower.json).
我现在找到的最好的方法是:
cat bower_components/thepackagename/.bower.json | node_modules/json/lib/json.js version
(注意 .bower.json
中的额外 .
)。
bower 似乎在 .bower.json
中存储了一些关于已安装包的元数据,其中包括已安装的版本。
到目前为止我想出的最好的是:
bower list | grep jquery | perl -pe 's/.*jquery#(.*?) .*$//'
(例如,如果我感兴趣的包是 jquery
)。
由于各种原因,这非常难看:
我必须重复包名(虽然这可能会有所改进 使用更好的 Perl 脚本也可以过滤行,我只是懒惰)。
bower list
获取有关所有已安装包的信息,而不仅仅是我感兴趣的包 - 其余信息将被丢弃。bower list
似乎需要互联网连接才能检查注册表,否则会失败。
有兴趣看看是否可以对此进行改进,尤其是最后一点。
这是执行此操作的 grep 命令:
grep "version\"\:" bower_components/thepackagename/.bower.json
另外,一个命令可以查看项目所有 Bower 组件的版本 - 这个列表可以是一个方便的 CI 人工制品:
grep "version\"\:" bower_components/*/.bower.json
你试过吗"bower list --json=0 --offline".
它将列出所有 bower 包信息。