【问题标题】:Karma: use Windows' Chrome from WSLKarma:使用来自 WSL 的 Windows 的 Chrome
【发布时间】:2019-01-08 10:56:11
【问题描述】:

我正在尝试使用 Windows 版 Google Chrome 从 WSL 启动 karma。

在 karma.conf.js 中我只使用 Chrome 浏览器:

[...],
browsers: ['Chrome'],
[...]

然后我像这样导出 CHROME_BIN 环境变量:

export CHROME_BIN='/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe'

Karma 成功找到 Google Chrome,并在启动 Karma 时在正确的 URL 处打开一个新标签页。但是,我收到此错误:

Google chrome can't read and write to its data directory /tmp/karma-XXXX

我尝试以管理员身份启动 chrome 并将缓存文件夹更改为我的项目的根目录,但它不起作用。

我认为 Karma 提供给 Chrome 的路径格式存在问题(WSL 路径与 Windows 路径)。

所以我创建了一个自定义业力启动器,指定 chromeDataDir:

browsers: ['WindowsChrome'],
customLaunchers: {
  WindowsChrome: {
    base: 'Chrome',
    chromeDataDir: 'D:\\'
  }
}

通过这样做,我没有以前的错误,启动了一个新的 Chrome 实例,但 Chrome 似乎无法解析 URL,并且业力超时。 此外,在我的项目中创建了很多 Chrome 文件夹。

是否有人已经使用 Chrome 在 WSL 中使用 karma 或对正在发生的事情有任何线索?

【问题讨论】:

  • 同样的问题

标签: google-chrome karma-jasmine karma-runner windows-subsystem-for-linux


【解决方案1】:

我发现如果你在 Windows 下创建一个 C:\tmp\karma 文件夹,这个错误就会消失,Chrome 会找到并使用这个文件夹来存放临时文件。

您还可以通过设置 TEMP 环境变量来更改 Chrome 用于存储数据的临时文件夹,如下所示:

export TEMP='/path/to/your/folder'

重要的是 C:\path\to\your\folder 在 Windows 下必须存在。

【讨论】:

  • 谢谢!我也可以通过如上所述设置CHROME_BIN 并创建目录“C:\tmp”来使其工作。 “tmp”存在就足够了。 Karma 将在“tmp”中创建名为“karma-*”的目录。
  • 我都试过了,但 Karma 每次都会创建具有不同 ID 的唯一文件夹。
  • 创建一个C:\tmp\karma 文件夹对我有用。谢谢!
  • 如果您的源代码在另一个驱动器号上(我的在 E: 上),则可能需要在该驱动器号上创建 tmp 文件夹(例如 E:\tmp)class="comcopy">跨度>
  • @MarcosBrigante 这让我很担心!很好的提示,非常感谢!
【解决方案2】:

现在在 2022 年 1 月,在 WSL2 上,在 windows 11 下的 debian 11/WSL 上进行测试,这很“容易”:

从 windows 命令提示符:

SET CHROME_EXECUTABLE=C:\Program Files\Google\Chrome\Application\chrome.exe

测试:

echo %CHROME_EXECUTABLE%
C:\Program Files\Google\Chrome\Application\chrome.exe

与 WSL 共享此 Windows 环境变量(文档。https://devblogs.microsoft.com/commandline/share-environment-vars-between-wsl-and-windows/):

set WSLENV=CHROME_EXECUTABLE/p

在 Windows 命令提示符下,输入 wsl,:

wsl

验证wsl下的env变量是否正常:

echo $CHROME_EXECUTABLE
/mnt/c/Program Files/Google/Chrome/Application/chrome.exe

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-22
    • 1970-01-01
    • 2019-12-26
    • 2017-02-08
    相关资源
    最近更新 更多