如何获取 YAML 中定义的命令以使用 Node.js 运行两个函数之一?



现在,我只是尝试设置一个 YAML 脚本,该脚本仅检查是否安装了特定的节点包。我目前拥有它的方式是:

command: npm list selenium-webdriver >/dev/null || npm install selenium-webdriver

但是,这始终返回:

fatal: [localhost -> localhost]: FAILED! => {"changed": false, "cmd": ["npm", "ls", "selenium-webdriver", ">/dev/null", "||", "npm", "install", "selenium-webdriver"], "delta": "0:00:00.463110", "end": "2017-08-09 12:56:30.359529", "failed": true, "rc": 1, "start": "2017-08-09 12:56:29.896419", "stderr": "npm ERR! code 1", "stdout": "/myDirn└── (empty)", "stdout_lines": ["/myDir", "└── (empty)"], "warnings": []}

我不完全确定什么是"npm ERR!代码 1"错误甚至。

我试图缩短它以查看错误可能是什么,这似乎是参数:

npm list selenium-webdriver

我希望它能运行第一个命令,如果失败,则运行第二个命令(安装(。

我究竟该如何使此命令以我正在寻找的方式运行?

使用npm模块不是更好吗?

- npm:
name: selenium-webdriver
path: /app/location

npm模块是幂等的,如果尚未安装selenium-webdriver,它只会安装。

最新更新