问题

我们需要将Karma测试运行器集成到TeamCity中,为此我想给sys-erginers小脚本(powershell或其他),这将:

  1. 从一些配置文件中获取所需的版本号(我想我可以将它作为注释放在karma.conf.js中)

  2. 检查在npm的全局回购中是否安装了定义的业力跑步器版本

  3. 如果它不是,或者安装的版本比预期的更旧:接收并安装正确的版本

  4. 运行它:karma start .\Scripts-Tests\karma.conf.js --reporters teamcity --single-run

所以我的真正问题是:“如果安装了所需版本的包,如何在脚本中检查?”.你应该做检查,或者每次只调用npm -g install是安全的吗?

我不想总是检查和安装最新的可用版本,因为其他配置值可能会不兼容

  最佳答案

要检查项目中的任何模块是否为“旧”,您应该做:

npm outdated

“过时”将检查package.json中定义的每个模块,并查看NPM注册表中是否有更新版本.

以下是一个例子,显示xml2js(在当前目录中的node_modules /中)已经过时,因为存在较新的版本(0.2.7):

 [email protected] node_modules/xml2js current=0.2.6
 

如果您想检查过时的模块并安装更新的版本,那么您可以做到: npm update(对于所有模块)或npm update xml2js(只检查/更新xml2js)

看看NPM文档:

  相同标签的其他问题

node.jsteamcitynpmkarma-runner