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

如何配置Opencode+WSL+playwright-cli使其正常运行?

解决Opencode与WSL中playwright-cli的识别问题

问题根源

Systemd启动的服务默认不会加载用户~/.bashrc中的环境变量,你配置的Node.js路径仅在交互式登录shell(比如WSL终端)中生效。同时Opencode调用WSL服务时可能使用非交互式shell,同样无法读取~/.bashrc的配置,导致找不到npx和playwright命令。

解决方案

1. 将Node.js路径添加到系统级环境变量

  • 在WSL终端中执行以下命令,获取Node.js和playwright的实际路径:
    which node
    which playwright
    
    通常Node.js的bin目录类似/home/你的用户名/.nvm/versions/node/vxx.x.x/bin或/usr/local/bin。
  • 编辑系统级环境变量配置文件/etc/environment:
    sudo nano /etc/environment
    
    在PATH变量末尾追加Node.js的bin路径,示例:
    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/xxx/.nvm/versions/node/v20.10.0/bin"
    
  • 保存退出后,重启WSL或执行source /etc/environment使配置生效。

2. 修改Systemd Unit文件,明确指定环境变量

  • 找到Opencode服务的Systemd Unit文件(通常位于/etc/systemd/system/或~/.config/systemd/user/),编辑该文件:
    sudo nano /etc/systemd/system/opencode-server.service
    
  • 在[Service]区块中添加Environment配置,指定包含Node.js路径的完整PATH:
    [Service]
    Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/xxx/.nvm/versions/node/v20.10.0/bin"
    # 其他原有配置...
    
  • 重新加载Systemd配置并重启服务:
    sudo systemctl daemon-reload
    sudo systemctl restart opencode-server
    

3. 直接使用playwright的绝对路径调用

如果上述方法仍有问题,可以在Opencode的配置中直接使用playwright的绝对路径(即which playwright得到的结果),比如/home/xxx/.nvm/versions/node/v20.10.0/bin/playwright,跳过环境变量依赖。

验证测试

在WSL终端中执行非交互式shell测试,确认环境变量生效:

bash -c "playwright --version"

如果能正常输出版本号,说明配置已生效,此时Opencode应该可以识别playwright-cli。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.01 17:22:27