使用批处理安装和配置量角器

时间:2019-01-18 08:51:29

标签: node.js batch-file npm protractor

我正在尝试使用批处理脚本配置Protractor框架。我编写了用于下载和安装Node.js的批处理脚本,并命名为“ prereq.bat”

set NODEJS_FILENAME=node-v10.15.0-x64.msi
set NODEJS_URL=https://nodejs.org/dist/latest-v10.x/%NODEJS_FILENAME%
set NODEJS_DOWNLOAD_LOCATION=C:\

powershell -NoExit -Command "(New-Object Net.WebClient).DownloadFile('%NODEJS_URL%', '%NODEJS_DOWNLOAD_LOCATION%%NODEJS_FILENAME%'); exit;"
msiexec /qn /l* C:\node-log.txt /i %NODEJS_DOWNLOAD_LOCATION%%NODEJS_FILENAME%

exit

第二个批处理文件“ config.bat”是我放置所有npm命令来配置量角器和其他所需库的地方

npm install -g protractor && npm install protractor-beautiful-reporter && npm install js-yaml && webdriver-manager update

我用“设置”按钮创建了一个简单的JAVA GUI工具。单击时,使用两个单独的“ Runtime.getRuntime()。exec()”调用两个批处理文件。

在JAVA代码中,bat文件是使用以下命令执行的:

"cmd /c start "prereq.bat";
"cmd /c start "config.bat";

问题:

当我从Eclipse IDE执行完整的解决方案时,一切正常。安装节点,然后配置量角器, 但是,当我将项目导出为可运行的jar并尝试执行时,Node安装成功,但是当调用第二个批处理“ config.bat”时,我得到了“无法识别npm”错误

我尝试的解决方案: 在代码中,我使用了Process.waitFor()方法,以便仅在第一个批处理命令成功运行时才调用第二个批处理。仍然,得到同样的错误。

感谢各种帮助。

1 个答案:

答案 0 :(得分:1)

尝试在PATH的开头将nodejs安装目录添加到config.bat环境变量中。这样cmd.exe可以通过npm环境变量来找到PATH二进制文件。

// config.bat

set PATH=<Nodejs installation directory>;%PATH%
npm install -g protractor && npm install protractor-beautiful-reporter && npm install js-yaml && webdriver-manager update