npm脚本使用npm终端的奇怪行为

时间:2018-04-14 04:45:32

标签: javascript node.js npm

我在package.json

中有这个
"devDependencies": {
    "chromedriver": "^2.37.0",
    "geckodriver": "^1.11.0",
    "nightwatch": "^0.9.20",
    "selenium-server": "^3.11.0"
},
"scripts": {
    "e2e": "nightwatch -c tests/nightwatch.conf.js -e chrome"
}

我可以执行npm run e2e

但是当我做node nightwatch -c tests/nightwatch.conf.js -e chrome时我的终端出现了这个错误

Error: Cannot find module 'C:\Users\James\Documents\sample_project\nightwatch'

好奇,有什么问题?我怀疑我现在知道npm和节点是如何工作的。

2 个答案:

答案 0 :(得分:0)

全局安装nightwatch个模块吗?如果没有,则首先使用npm install nightwatch -g全局安装此模块。在CLI命令中使用此模块时,必须在系统中全局安装。

  

有时可能会出现 npm cache 的问题。尝试使用以下方法清理npm缓存:

     

npm cache verify   npm cache clean --force   npm cache clear --force

     

然后您可以再次运行npm installnpm install nightwatch -g,以确保安装所有模块。

此外,您可以尝试在命令中使用--verbose,例如:

node nightwatch.js --verbose

看到输出,可能有助于调试问题。

答案 1 :(得分:0)

当你做'节点守夜人'时,它应该进入node_modules文件夹并查找nightwatch,而不是查看根目录。 您可以在node_modules中剪切nightwatch文件夹,并将其移动到与package.json相同的目录中。试一试!