我使用的是 NPM 版本 5.8.0,我运行了以下命令:
npm install --no-optional --silent
chromedriver 被声明为可选 dep:
"optionalDependencies": {
"chromedriver": "^2.35.0"
},
当我运行安装命令时,npm 安装了 chromedriver,但我不明白为什么。
为了检查其他东西是否依赖于 chromedriver,我运行了:
$ npm la chromedriver
<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="14777060397a7b6354243a253a2526" rel="noreferrer noopener nofollow">[email protected]</a>
│ /Users/alexamil/WebstormProjects/nabisco/cdt-now
│
└── <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="6e0d061c01030b0a1c07180b1c2e5c405d5b405e" rel="noreferrer noopener nofollow">[email protected]</a>
ChromeDriver for Selenium
git://github.com/giggio/node-chromedriver.git
https://github.com/giggio/node-chromedriver
这只是 NPM 版本 5.8.x 的一个错误吗?
最佳答案
这是一个pending issue现在使用 npm:
根据 github 问题线程,临时解决方法是使用 no-shrinkwrap,如下所示:
--production --no-shrinkwrap
但请注意,这样做的附带后果是 package-lock.json
文件不会被考虑在内。
关于node.js - npm 无缘无故安装可选依赖项 'chromedriver',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50031075/