node_modules不被识别为内部或外部命令

10
我正在尝试使用Appium、Jasmine和Perfecto Mobile编写测试自动化脚本。我正在使用从以下URL克隆的项目,并使用自己的配置 Appium Javascript Example
问题在于当我执行npm test命令时,我会得到以下错误信息:

node_modules未被识别为内部或外部命令

下面是packages.json脚本的内容:
  {
  "name": "perfecto_appium_sample",
  "version": "1.0.0",
  "description": "The following sample shows how to Install an application and use WebDriverIO to automate and test it.<br/> It uses selendroid test application which can be downloaded from [here](https://github.com/PerfectoCode/AppsForSamples/tree/master/selendroid-test-app-0.17.0).",
  "main": "perfectoSpec.js",
  "scripts": {
    "test": "node_modules/webdriverio/bin/wdio wdio.conf.js",
    "start": "wdio wdio.conf.js"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "wdio": "^0.3.3",
    "wdio-jasmine-framework": "^0.2.19",
    "wdio-mocha-framework": "^0.5.12"
  },
  "dependencies": {
    "wd": "^1.5.0",
    "webdriverio": "^4.10.2"
  },
  "keywords": []
}
3个回答

22
你需要正确提供一个相对路径:
"scripts": {
    "test": "node ./node_modules/webdriverio/bin/wdio wdio.conf.js",
    "start": "wdio wdio.conf.js"
  }

5
这是在Windows上操作时遇到的问题,当我添加句点(.)后,出现错误提示:'.'不被识别为内部或外部命令。 - Noel Omondi
2
"node ./node_modules/webdriverio/bin/wdio wdio.conf.js" 怎么样? - kgangadhar
我尝试了这个: "scripts": { "test": node "./node_modules/webdriverio/bin/wdio wdio.conf.js", "start": "wdio wdio.conf.js" }, 它不起作用,因为它不是正确的JSON字符串格式。 - Noel Omondi

2

只需删除路径 "node_modules/webdriverio/bin/",然后简单地指定 "wdio wdio.conf.js"。它应该可以工作。


1
你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community

0

看起来你正在尝试从node_modules/.bin目录执行命令,但是你的终端无法找到它。使用npx test而不是npm test。


你的答案可以通过提供更多支持性信息来改进。请[编辑]以添加进一步细节,例如引用或文档,以便其他人可以确认你的答案是正确的。您可以在帮助中心找到有关如何编写良好答案的更多信息。 - pierpy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接