我已经看到了太多关于这个的不同类型的答案。我不得不尝试所有不同的方法来最终了解发生了什么。我的也没有一个plugins:
部分karma.conf.js
。
所以我有一个项目AwesomeKarmaTests
,其中包含同名文件夹内的所有文件。
AwesomeKarmaTests
\package.json
\karma.conf.js
\node_modules
\karma
\karma-jasmine
...
该node_modules
目录显然会在您cd AwesomeKarmaTests
运行时创建npm install
。
npm
然后将检查package.json
调用它的文件夹中的内容,并安装列出的所有包和进一步的依赖项(如果需要)。
我的内容package.json
{
"name": "AwesomeKarmaTests",
"version": "1.0.0",
"devDependencies": {
"karma": "^1.6.0",
"karma-jasmine": "^1.1.0",
"karma-junit-reporter": "^1.2.0",
"karma-ng-html2js-preprocessor": "^1.0.0",
"karma-phantomjs-launcher": "^1.0.4"
}
}
Can not load "ng-html2js"
我最初遇到这个问题( )是因为在我的系统中全局karma
安装。全局安装会尝试全局查找包,但显然找不到它,因为我没有全局安装预处理器。 karma
karma-ng-html2js-preprocessor
而且我无法理解发生了什么,因为其中的每一个devDependencies
都package.json
已经安装在node_modules
项目根文件夹内的目录中。我一直karma start
从AwesomeKarmaTests
文件夹中运行,却没有意识到正在执行的是全球安装的业力(我很傻)。
但是,karma
从我的全局安装中卸载后,我开始收到/c/Users/fastasticUser/AppData/Roaming/npm/karma: No such file or directory
错误。那是我意识到我的错误的时候。
然后我改变了我的方法。我开始使用以下命令运行我的测试,明确指定 karma 的本地安装路径。
./node_modules/karma/bin/karma start karma.conf.js
从AwesomeKarmaTests
目录。正如在其他几篇文章中提到的,业力确实选择了它的兄弟包和插件。
因此,在依赖其他本地安装的插件或包时,请记住使用包的本地版本,否则将无法识别您想要它做什么。karma
karma