无法在节点上安装 puppeteer 包

Posted

技术标签:

【中文标题】无法在节点上安装 puppeteer 包【英文标题】:Can't install puppeteer package on node 【发布时间】:2019-10-17 15:05:06 【问题描述】:

我在安装 puppeteer 包时遇到问题。

我的 NPM 版本:6.9.0

节点版本:v10.16.0

试过了:

sudo chown -R $(whoami) ~/.npm
sudo chown -R $(whoami) /usr/local/lib
sudo chown -R $(whoami) /usr/local/bin

但这没有任何帮助。

我在 *** 上发现了类似的问题,并选择了这个 answer。但是还是不知道怎么解决我的问题。

【问题讨论】:

【参考方案1】:

cacache 是什么?

cacache 是一个用于管理本地密钥和内容地址缓存的 Node.js 库。它非常快,非常擅长并发,而且它永远不会给你损坏的数据,即使缓存文件被损坏或被操纵。

它最初是为了用作 npm 的本地缓存而编写的,但也可以很容易地单独使用。

修复 1

从npm.community 复制此答案并添加更多内容,

更改文件的所有权,然后避免使用 sudo 是 EISDIR 使用 sudo 进行全局安装的一种可能解决方法。假设这是您的个人计算机,并安装到 Mac 上的默认位置:

sudo chown -R $(whoami) ~/.npm
sudo chown -R $(whoami) /usr/local/lib
sudo chown -R $(whoami) /usr/local/bin

然后再次尝试您的命令不使用 sudo。例如

npm install -g npm@latest

现在,清理缓存

npm cache clean --force

并正常安装您的包无需 sudo

npm i puppeteer

修复 2

来自this SO answer,回答者升级到npm 6.9.0时遇到同样的问题,解决方法是重新安装升级node,

brew reinstall node

修复 3

与 .staging 相关的 old issue on npm 提供了此修复。

尝试删除包锁定文件并重新安装包,

rm -rf node_modules
rm -f package-lock.json
npm install

【讨论】:

以上是关于无法在节点上安装 puppeteer 包的主要内容,如果未能解决你的问题,请参考以下文章

Windows Puppet 代理未连接到 AWSOpsWorks Puppet Enterprise 主服务器

CentOS 7 和 Puppet 无法安装 nc

Puppet批量修改SSH端口-Linux软件分发

安装 puppeteer 2 弹性豆茎

是什么原因让华为测试工程师都说puppeteer比selenium好呢?

puppet 禁止请求 /puppet-ca/v1/certificate/ca