Angularjs npm安装:检查是否安装了特定的应用程序

Angularjs npm安装:检查是否安装了特定的应用程序,angularjs,node.js,npm,Angularjs,Node.js,Npm,我正在尝试为Angular应用程序编写单元测试,现在正在描述单元测试所需的所有包,如karma、phantomjs等。操作系统:Ubuntu14 问题是,Phantom.js如果没有在系统()中安装“libfontconfig”就无法工作,据我所知,不可能在以下情况下安装它: npm install --save-dev libfontconfig 当用户尝试执行以下操作时,如何向用户输出需要进行特定安装的警告: npm install UPD 我决定就我的案件提供更具体的细节。所以,我将

我正在尝试为Angular应用程序编写单元测试,现在正在描述单元测试所需的所有包,如karma、phantomjs等。操作系统:Ubuntu14

问题是,Phantom.js如果没有在系统()中安装“libfontconfig”就无法工作,据我所知,不可能在以下情况下安装它:

npm install --save-dev libfontconfig
当用户尝试执行以下操作时,如何向用户输出需要进行特定安装的警告:

npm install

UPD

我决定就我的案件提供更具体的细节。所以,我将使用Karma和Phantom.js来测试我的应用程序。以下是一个项目的所有特性:

"devDependencies": 
{
"grunt": "~0.4.5",
"grunt-contrib-less": "~1.1.0",
"grunt-contrib-watch": "~0.6.1",
"jit-grunt": "~0.9.1",
"angular-route": "~1.4.8",
"angular": "~1.4.8",
"moment": "~2.10.6",
"jquery": "~1.11.3",
"bootstrap": "~3.3.6",
"angularjs-datepicker": "~0.2.16",
"phantomjs": "~1.9.8",
"karma": "^0.12.16",
"karma-jasmine": "~0.1.0",
"karma-phantomjs-launcher": "~0.2.3"
}
当我尝试使用Karma运行单元测试时:

node node_modules/karma/bin/karma start test/karma.conf.js
我收到以下错误:

ERROR [phantomjs.launcher]: /vagrant/node_modules/phantomjs/lib/phantom/bin/phantomjs: error while loading shared libraries: libfontconfig.so.1: cannot open shared object file: No such file or directory
所以,我的问题是:

1) 我应该检查这个库的存在,还是我可以在自述中描述它


2) 如果我要检查,我怎么做?使用bash是个好主意吗?据我所知,在这种情况下,它将无法在Windows计算机上运行。

您应该能够使用package.json中的
脚本
字段


只需创建一个nodeJS脚本,在安装后调用该脚本即可检查
libfontconfig

您应该能够使用package.json中的
脚本
字段


只需创建一个nodeJS脚本,您可以在安装后调用该脚本来检查
libfontconfig

谢谢您的回答,我有个主意,但我仍然不明白如何从nodeJS获取系统中安装的应用程序的信息?您需要在“安装后”字段中设置的脚本中执行类似的操作。好的,我尝试了这种方法,但看起来我无法检查应用程序是否安装在操作系统中-我只能在此处检查npm模块。而“libfontconfig”不是npm模块。也许可以在这里使用一些bash脚本?啊,我明白了。。是的,那可能是最好的。您可以使用exec并查看“which libfontconfig”的输出。@Tamara您实际上可以使用npm scripts部分中的任何shell命令。了解人们如何使用脚本功能,运行构建应用程序所需的任何命令。感谢您的回答,我有一个想法,但我仍然不明白如何从nodeJS获取系统中安装的应用程序的信息?您需要在安装后字段中设置的脚本中执行类似的操作。好的,我尝试了这种方法,但看起来我无法检查应用程序是否安装在操作系统中——我只能在这里检查npm模块。而“libfontconfig”不是npm模块。也许可以在这里使用一些bash脚本?啊,我明白了。。是的,那可能是最好的。您可以使用exec并查看“which libfontconfig”的输出。@Tamara您实际上可以使用npm scripts部分中的任何shell命令。了解人们如何使用脚本功能,运行构建应用程序所需的任何命令。