node.js - npm 无缘无故安装可选依赖项 'chromedriver'

标签 node.js npm npm-install

我使用的是 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/

相关文章:

javascript - 在node.js中将数组对象转换为json

npm - Artifactory:在 'npmjs' 处找不到 npm 存储库索引

node.js - NPM 包安装后运行 gulp 任务

node.js - 如何在不配置的情况下更改 npm 前缀?

docker - 如何使用 docker 从私有(private)存储库安装包

javascript - 将 Wheelnav.js 导入 Angular 2/4

javascript - 使用异步队列控制数据库连接请求

javascript - Angular JS 教程 - 需要澄清

javascript - 传递 net.socket 作为参数

angularjs - npm lite-server 无法识别 css 中的更改