【问题标题】:Setting environment variable for CHROME_BIN does not work为 CHROME_BIN 设置环境变量不起作用
【发布时间】:2019-03-06 23:40:13
【问题描述】:

我正在尝试使用 Karma 来测试我的 js 脚本。在文档中说我应该为CHROME_BIN设置环境变量:

我已经设置了

%programfiles(x86)%"\Google\Chrome\Application\Chrome.exe

但是当我在 DOS 中输入 %CHROME_BIN% 时,它会失败,因为它会被截断为 C:\Program 的空间 Program Files

我可以做些什么来解决这个问题?

【问题讨论】:

    标签: environment-variables karma-runner


    【解决方案1】:

    遇到了同样的问题,我通过编辑 config 下的 karma.conf.jskarma-e2e.conf.js 文件解决了这个问题 目录。

    变化:

    browsers = ['Chrome'];
    


    browsers = ['Your_System_Path_where_chrome_installed/chrome.exe'];
    

    在我的情况下是 > C:/Program Files (x86)/Google/Chrome/Application/chrome.exe

    然后在环境变量中添加C:\Program Files (x86)\Google\Chrome\Application\chrome.exe路径


    或在 cmd 中

    SET CHROME_BIN = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
    

    附加:其他浏览器的设置可见here

    关于为什么 chrome one 不起作用,我猜他们(Karma)已经从一些早期版本的 chrome 配置了他们的 chrome 路径。


    更新:对于AngularJS tutorial 关注者:

    • 在某些教程步骤上运行 karma 测试运行程序时,您仍然可能会遇到问题()并解决此问题:只需在“. ..conf.js”文件,如下所示:
    files = [
      ANGULAR_SCENARIO,
      ANGULAR_SCENARIO_ADAPTER,
        ....
        ....  // keep rest of the lines as it is
        ....
    ];
    

    【讨论】:

    • 这解决了我没有设置 CHROME_BIN 的问题
    • 按照 angularJS 教程,无法让它与 env 变量一起使用,也无法将 chrome 的路径直接设置为 karma conf 文件。相反,使用默认 Windows cmd 并执行 SET CHROME_BIN=C:\Program Files (x86)\Google\Chrome\Application\chrome.exe 我假设这会编辑 env 变量,但由于某种原因,它不能与计算机->高级系统设置中的默认环境变量。请注意,我的业力完全忽略了我在 conf 文件中设置的内容,现在声明为 browsers = ['PhantomJS'];它在 chrome 上启动
    • 设置 CHROME_BIN 环境也适用于更改后必须打开新命令提示符的注意
    • 如果您在 Linux Mint 上需要 Chromium,请在 karma.conf.js 中将浏览器:['Chrome'] 更改为浏览器:['Chromium']
    【解决方案2】:

    在 Powershell 中,您可以运行以下命令:

    $Env:CHROME_BIN = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
    

    您需要将双引号内的内容替换为您的本地路径。

    或者在cmd.exe中

    SET CHROME_BIN = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
    

    这就是你所需要的一切。

    【讨论】:

    • 我认为需要注意的重要一点是,至少在使用 cmd 时,它需要重新启动 cmd 才能工作。在 SET CHROME_BIN 命令之后没有重新启动它仍然无法识别这一点。重启后一切正常。
    • 那是@RobertJagoda 重启非常重要!我浪费了很多时间试图弄清楚它是如何工作的。然后我看到了你的评论!
    【解决方案3】:

    我通过在我的环境属性中设置CHROME_BIN 解决了同样的问题,如下所示:

    c:/Program Files (x86)/Google/Chrome/Application/chrome.exe
    

    属性值不能有双引号 ("),所有反斜杠 (\) 必须替换为斜杠 (/)

    【讨论】:

      【解决方案4】:

      对于 ubuntu 14.04 中的 Chromium,编辑 test/karma.conf.js 并更改

      browsers = ['Chrome'];
      

      browsers = ['chromium-browser'];
      

      【讨论】:

        【解决方案5】:

        我发现安装 Canary 并将 browsers = ['Chrome']; 更改为 browsers = ['ChromeCanary']; 会更好。

        【讨论】:

          【解决方案6】:

          我通过从管理员命令提示符运行解决了这个问题。无需设置 CHROME_BIN,它会自动指向您的默认安装。

          【讨论】:

            【解决方案7】:

            使用set(参见http://ss64.com/nt/set.html)并在整个字符串周围加上引号

            "%programfiles(x86)%\Google\Chrome\Application\Chrome.exe"

            【讨论】:

            • 我快疯了。我已经尝试了所有方法,但仍然无法正常工作。我什至尝试使用 powershell : [System.Environment]::SetEnvironmentVariable("CHROME_BIN", "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe") 但没有运气。知道我还能尝试什么吗?
            • @Sam 有时会出现与非管理员模式相关的问题,请确保将变量设置为 admin
            • 我绝对是我电脑上的管理员(我在工作电脑和个人电脑上都试过,同样的问题)
            【解决方案8】:

            (在 Linux 中)我认为它与 CHROME_BIN 有关,但最终对我来说它与该变量无关,我将其删除。我必须在 github 上查找 karma-chrome-launcher npm 插件,并按照说明为我的 karma 配置添加不安全性。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-04-01
              • 2015-11-13
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多