首页 文章

你如何安装和运行Node.js测试模块Mocha?安装后获取“mocha:command not found”

提问于
浏览
75

我无法按预期工作Mocha,我很乐意按照文件记录说,但是(似乎)没有太多关于实际运行的文档 .

我已经使用 npm (全局和本地)安装它,每次运行时我得到:

$ mocha
mocha: command not found

好的,所以我认为它不在我的 PATH 中,所以我尝试直接运行它,

$ ./node_modules/mocha/bin/mocha 
execvp(): No such file or directory

最后,我试着点击另一个 bin 文件,得到了,

$ ./node_modules/mocha/bin/_mocha 
path.existsSync is deprecated. It is now called `fs.existsSync`.

  .

  ✔ 1 tests complete (1ms)

如何使用单个命令执行测试? Vows似乎让你,但我似乎让它正常工作 .

关于我在第三次尝试中遇到的错误的任何想法?

Edit:

我在跑,

  • Ubuntu 11.10 64位

  • Node.js 0.7.5

  • npm 1.1.8

  • 摩卡0.14.1

  • 应该是0.6.0

2 回答

  • 158

    您不希望您的库测试失败,具体取决于机器设置(mocha为全局,全局mocha版本等),使用跨平台工作的本地mocha的方式是:

    node node_modules/.bin/mocha
    

    npm将别名放在该特殊文件夹的依赖项中的所有二进制文件中 . 最后,npm会在运行npm脚本时自动将node_modules / .bin添加到PATH,所以在你的package.json中你可以这样做:

    "scripts": {
      "test": "mocha"
    }
    

    并用它调用它

    npm test
    
  • 18

    经过进一步的阅读和上面的Linus G Thiel的确认,我发现我只需要,

    • 降级到Node.js 0.6.12

    • 或者,

    • 将Mocha安装为全局

    • ./node_modules/.bin 添加到我的 PATH

相关问题