错误:产生未知 [英] Error: spawn UNKNOWN

查看:67
本文介绍了错误:产生未知的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试按照 https://docs.angularjs.org/tutorial 上的教程进行操作,并运行命令时出错

I am trying to follow the tutorial at https://docs.angularjs.org/tutorial and have an error running the command

npm run protractor

这是控制台日志:

Microsoft Windows [Version 6.1.7601]版权所有(c)2009 Microsoft公司.保留所有权利.

Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\ GIT \ angular-practices \ angular-phonecat> npm运行量角器

C:\GIT\angular-practices\angular-phonecat>npm run protractor

angular-phonecat@0.0.0预量角器C:\ GIT \ angular-practices \ angular-phonecatnpm运行update-webdriver

angular-phonecat@0.0.0 preprotractor C:\GIT\angular-practices\angular-phonecat npm run update-webdriver

angular-phonecat@0.0.0 preupdate-webdriver C:\ GIT \ angular-practices \ angular-phonecatnpm安装

angular-phonecat@0.0.0 preupdate-webdriver C:\GIT\angular-practices\angular-phonecat npm install

angular-phonecat@0.0.0安装后C:\ GIT \ angular-practices \ angular-phonecat凉亭安装

angular-phonecat@0.0.0 postinstall C:\GIT\angular-practices\angular-phonecat bower install

angular-phonecat@0.0.0更新-webdriver C:\ GIT \ angular-practices \ angular-phonecatwebdriver-manager更新

angular-phonecat@0.0.0 update-webdriver C:\GIT\angular-practices\angular-phonecat webdriver-manager update

硒独立版本是最新的.chromedriver是最新的.

selenium standalone is up to date. chromedriver is up to date.

angular-phonecat@0.0.0量角器C:\ GIT \ angular-practices \ angular-phonecat量角器测试/protractor-conf.js

angular-phonecat@0.0.0 protractor C:\GIT\angular-practices\angular-phonecat protractor test/protractor-conf.js

util.puts:使用console.log代替直接使用ChromeDriver ...错误:产生未知在exports._errnoException(util.js:746:11)在ChildProcess.spawn(child_process.js:1162:11)在exports.spawn(child_process.js:995:9)在C:\ GIT \ angular-practices \ angular-phonecat \ node_modules \ protractor \ node_modules \ selenium-webdriver \ remote \ index.js:173:23在C:\ GIT \ angular-practices \ angular-phonecat \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ goog \ base.js:1243:15在[object Object] .webdriver.promise.ControlFlow.runInNewFrame_(C:\ GIT \ angular-practices \ angular-phonecat \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ webdriver \ prom ise.js:1539:20)通知时(C:\ GIT \ angular-practices \ angular-phonecat \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ webdriver \ promise.js:362:12)然后在[object Object].(C:\ GIT \ angular-practices \ angular-phonecat \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ webdriver \ promise.js:414:7)在Object.webdriver.promise.时(C:\ GIT \ angular-practices \ angular-phonecat \ node_modules \ protractor \ node_modules \ Selenium-webdriver \ lib \ webdriver \ promise.js:639:18)在C:\ GIT \ angular-practices \ angular-phonecat \ node_modules \ protractor \ node_modules \ selenium-webdriver \ remote \ index.js:172:20====异步任务==== WebDriver.createSession()在Function.webdriver.WebDriver.acquireSession_(C:\ GIT \ angular-practices \ angular-phonecat \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ webdriver \ webdriver.js:131:49)在Function.webdriver.WebDriver.createSession(C:\ GIT \ angular-practices \ angular-phonecat \ node_modules \ protractor \ node_modules \ Selenium-webdriver \ lib \ webdriver \ webdriver.js:111:30)在Object.createDriver(C:\ GIT \ angular-practices \ angular-phonecat \ node_modules \ protractor \ node_modules \ selenium-webdriver \ chrome.js:460:30)在ChromeDriverProvider.getDriver(C:\ GIT \ angular-practices \ angular-phonecat \ node_modules \ protractor \ lib \ driverProviders \ chrome.js:67:27)在C:\ GIT \ angular-practices \ angular-phonecat \ node_modules \ protractor \ lib \ runner.js:221:35在_fulfilled(C:\ GIT \ angular-practices \ angular-phonecat \ node_modules \ protractor \ node_modules \ q \ q.js:797:54)在self.promiseDispatch.done(C:\ GIT \ angular-practices \ angular-phonecat \ node_modules \ protractor \ node_modules \ q \ q.js:826:30)在Promise.promise.promiseDispatch(C:\ GIT \ angular-practices \ angular-phonecat \ node_modules \ protractor \ node_modules \ q \ q.js:759:13)在C:\ GIT \ angular-practices \ angular-phonecat \ node_modules \ protractor \ node_modules \ q \ q.js:525:49

util.puts: Use console.log instead Using ChromeDriver directly... Error: spawn UNKNOWN at exports._errnoException (util.js:746:11) at ChildProcess.spawn (child_process.js:1162:11) at exports.spawn (child_process.js:995:9) at C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\selenium-webdriver\remote\index.js:173:23 at C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\selenium-webdriver\lib\goog\base.js:1243:15 at [object Object].webdriver.promise.ControlFlow.runInNewFrame_ (C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\prom ise.js:1539:20) at notify (C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:362:12) at [object Object].then (C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:414:7) at Object.webdriver.promise.when (C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:639:18) at C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\selenium-webdriver\remote\index.js:172:20 ==== async task ==== WebDriver.createSession() at Function.webdriver.WebDriver.acquireSession_ (C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:131:49) at Function.webdriver.WebDriver.createSession (C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:111:30) at Object.createDriver (C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\selenium-webdriver\chrome.js:460:30) at ChromeDriverProvider.getDriver (C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\lib\driverProviders\chrome.js:67:27) at C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\lib\runner.js:221:35 at _fulfilled (C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\q\q.js:797:54) at self.promiseDispatch.done (C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\q\q.js:826:30) at Promise.promise.promiseDispatch (C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\q\q.js:759:13) at C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\q\q.js:525:49

你能告诉我问题出在哪里吗?

Can you tell me where the problem is?

这是我的量角器conf.js:

Here is my protractor conf.js:

exports.config = {
  allScriptsTimeout: 11000,

  specs: [
    'e2e/*.js'
  ],

  capabilities: {
    'browserName': 'chrome'
  },

  chromeOnly: true,

  baseUrl: 'http://localhost:8000/',

  framework: 'jasmine',

  jasmineNodeOpts: {
    defaultTimeoutInterval: 30000
  }
};

推荐答案

对于在Mac上出现此错误的用户,以下未解决的问题可能导致此问题: https://github.com/angular/webdriver-manager/issues/476

For those who are on a Mac and getting this error, the following open issue can cause this: https://github.com/angular/webdriver-manager/issues/476

该解决方案由ciekawy提供.在

The solution is provided by ciekawy. In

node_modules/webdriver-manager/built/lib/files/file_manager.js

node_modules/protractor/webdriver-manager/built/lib/files/file_manager.js

在第166行添加以下代码:

add the following code at line 166:

fileUrl.url = fileUrl.url.replace(/_m1/, '');

然后,您将需要更新chrome驱动程序以获取更改.如果使用NRWL的NX monorepo管理工具:

You will then need to update the chrome drivers to pick up the change. If using NRWL's NX monorepo management tools:

npx webdriver-manager clean
npx webdriver-manager update --gecko=false --versions.chrome=<version from chrome://versions>

这篇关于错误:产生未知的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆