0

在 devDependencies 下,我已将安装后的内容放置在下面,并希望更新 webdriver-manager

"devDependencies": {
"@angular/cli": "1.6.8",
"@angular/compiler-cli": "^5.2.0",
"@angular/language-service": "^5.2.0",
"@types/jasmine": "~2.8.3",
"@types/jasminewd2": "~2.0.2",
"@types/node": "~6.0.60",
"codelyzer": "^4.0.1",
"jasmine-core": "~2.8.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "^3.0.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "^1.2.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"karma-junit-reporter": "^1.2.0",
"karma-mocha-reporter": "^2.2.3",
"karma-phantomjs-launcher": "^1.0.4",
"ngx-cookie-service": "^1.0.10",
"node-sass": "^4.13.0",
"protractor": "^5.4.2",
"retire": "^1.6.0",
"ts-node": "~4.1.0",
"tslint": "~5.9.1", 
"typescript": "~2.5.3",
"postinstall": "cd ./node_modules/protractor && npm i webdriver-manager@latest && cd ../.. && ./node_modules/.bin/webdriver-manager update"
}

当我尝试运行 npm i 时,它会抛出以下错误:

npm ERR! Could not install from "cd node_modules\protractor && npm i webdriver-manager@latest" as it 
does not contain a package.json file.

谁能建议这个问题的解决方案是什么?

4

1 回答 1

3

我不知道 devDependancy 部分允许任何脚本,因此据我了解,您需要将其放在脚本部分下。

此外,您还应该注意以下几点:

安装 Protractor 后,它将自动安装 webdriver-manager 并将 protractor 本身和 webdriver-manager 的二进制文件放在node_modules/.bin. 因此无需更改目录即可node_modules/protractor访问 webdriver-manager。

此外,当您在 package.json 中编写脚本时,不必指定它是本地包(通过说node_modules/...),因为脚本总是首先检查本地包。

因此,我相信您的 conf 应该如下所示,并且应该按照您想要的方式工作

  "scripts": {
    "postinstall": "webdriver-manager update"
  },
  ...
  ...
  "devDependencies": {
    "@angular/cli": "1.6.8",
    "@angular/compiler-cli": "^5.2.0",
    "@angular/language-service": "^5.2.0",
    "@types/jasmine": "~2.8.3",
    "@types/jasminewd2": "~2.0.2",
    "@types/node": "~6.0.60",
    "codelyzer": "^4.0.1",
    "jasmine-core": "~2.8.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "^3.0.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "^1.2.1",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "karma-junit-reporter": "^1.2.0",
    "karma-mocha-reporter": "^2.2.3",
    "karma-phantomjs-launcher": "^1.0.4",
    "ngx-cookie-service": "^1.0.10",
    "node-sass": "^4.13.0",
    "protractor": "^5.4.2",
    "retire": "^1.6.0",
    "ts-node": "~4.1.0",
    "tslint": "~5.9.1",
    "typescript": "~2.5.3",
  }
于 2019-12-16T10:15:26.093 回答