我在 NetBeans 中有一个 WAR 项目,它使用 Karma 和 Jasmine 对 JavaScript 文件进行单元测试。平台是 Mac OS X。在 Mavericks 下一切正常,但在我升级到 Yosemite 后,它不再工作,并显示错误消息:
Failed to execute goal com.kelveden:maven-karma-plugin:1.8:start (default) on project Insight-war: There was an error executing Karma. Cannot run program "karma" (in directory "/Users/thja/Documents/Projects/kpi2010_core/WebGIS/Insight-war"): error=2, No such file or directory -> [Help 1]
它尝试执行以下命令,如日志中所示:
karma start /Users/thja/Documents/Projects/kpi2010_core/WebGIS/Insight-war/src/main/webapp/config/karma.conf.js --browsers PhantomJS --reporters dots,junit --single-run --no-auto-watch --colors true
我可以在终端中运行完全相同的命令,没有任何问题 - 它会执行并给出测试结果。 which karma
给出结果 /usr/local/bin/karma
,并且 /usr/local/bin
是全局 PATH 的一部分。
是否可以对此进行任何修复,或者我只需在 Maven Karma 插件页面上发布问题即可?
平台:
- Mac OS X 10.10 优胜美地。
- NetBeans 8.0.1
- maven-karma-plugin 1.8
- Java 1.7.0_45
最佳答案
这似乎与 Yosemite 关闭/etc/launchd.conf 有关,因此 NetBeans 无法获取正确的 PATH 变量 - 因此与 Karma 没有直接关系。
我通过在 netbeans.conf(在 NetBeans 应用程序包内)中设置 PATH=${PATH}:/usr/local/bin
修复了该问题。然后,构建脚本的 karma 部分在 NetBeans 中成功运行。
关于javascript - 升级到 Yosemite 后 NetBeans 中出现 Karma "not found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26544635/