You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Webdriver.io环境变量设置问题:PowerShell/pwsh终端无法生效

跨平台设置环境变量的解决方案

方法1:使用cross-env包(推荐)

cross-env是专门解决跨平台环境变量设置问题的工具,能在Windows、Linux、Mac上统一工作:

  • 安装cross-env作为开发依赖:
    npm install --save-dev cross-env
    
  • 修改package.json中的npm脚本:
    "test:offline": "cross-env status=offline wdio run ./wdio.runner.conf.ts"
    
  • 执行命令保持不变:npm run test:offline,现在在所有平台的终端(包括Windows PowerShell/pwsh)都能正常生效。

方法2:手动编写跨平台脚本(仅作参考)

如果不想额外安装依赖,可以利用npm scripts的平台区分特性,分别为不同系统写脚本:

  • 在package.json中添加以下脚本:
    "test:offline:unix": "env status=offline wdio run ./wdio.runner.conf.ts",
    "test:offline:win": "set status=offline && wdio run ./wdio.runner.conf.ts",
    "test:offline": "npm run test:offline:$(npm run --silent get-platform)",
    "get-platform": "node -e \"console.log(process.platform === 'win32' ? 'win' : 'unix')\""
    
    这种方式需要额外维护平台判断逻辑,不如cross-env简洁可靠。

问题根源

Unix系(Linux/Mac)终端支持env命令设置临时环境变量,但Windows PowerShell/CMD不识别该命令;Windows用set命令设置环境变量,却又不被Unix系支持。cross-env会自动根据当前系统选择正确的环境变量设置方式,无需手动区分平台。

内容的提问来源于stack exchange,提问作者Mohd Sijah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 22:16:04