我正在构建一个Meteor应用,并尝试使用Laika进行测试。我在Ubuntu上的WebStorm 7中编写coffeescript,并尝试使用WebStorm的文件监视器功能在每次更改coffeescript文件时重新执行laika
。
作为上下文,我可以在项目根目录中运行laika --ui=bdd
命令,我甚至可以使用WebStorm中的终端工具执行相同的操作。但是,当我设置文件监视器时,每次都会出现以下错误:
/home/oliver/.meteor/tools/latest/bin/laika --ui=bdd -V
[laika log] accepting the following extensions: (js)
injecting laika...
loading phantomjs...
cleaning up injected code
/home/oliver/.meteor/tools/c2a0453c51/lib/node_modules/laika/lib/app.js:130
if(err) throw err;
^
Error: spawn ENOENT
at errnoException (child_process.js:988:11)
at Process.ChildProcess._handle.onexit (child_process.js:779:34)
我不是一个节点大师,并且甚至不知道如何调试这个错误,但是我希望别人觉得它很简单。有什么想法吗?
为了记录,我的配置:
答案 0 :(得分:0)
事实证明,尽管WebStorm说Include parent environment variables
,它实际上却遗漏了PATH
的所有好东西。我将我的实际终端PATH
变量整体粘贴到环境变量中:
PATH=/home/oliver/.meteor/tools/latest/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
......它有效!就是这样。
顺便说一句,如果你在Laika测试中遇到类似的问题,请记住你的测试使用 Meteor,但不会在 Meteor中执行环境,因此您想要使用的任何库都应npm install
到node_modules
内的tests
目录。我花了一段时间才弄明白。