无法在节点上安装 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 主服务器