node.js - 无法在 Node 上安装 puppeteer 包

标签 node.js node-modules puppeteer

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

Error Screenshot

我的 NPM 版本:6.9.0

Node 版本:v10.16.0

尝试过:

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

但这没有帮助。

我在 stackoverflow 上发现了类似的问题并接受了这个 answer 。但仍然不知道如何解决我的问题。

最佳答案

什么是cacache

cacache is a Node.js library for managing local key and content address caches. It's really fast, really good at concurrency, and it will never give you corrupted data, even if cache files get corrupted or manipulated.

It was originally written to be used as npm's local cache, but can just as easily be used on its own.

修复 1

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

更改文件的所有权,然后避免使用 sudo 是使用 sudo 进行全局安装的 EISDIR 的一种可能解决方法。假设这是您的个人计算机,并安装到 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

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

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

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

关于node.js - 无法在 Node 上安装 puppeteer 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56403980/

相关文章:

node.js - ClientSession 无法序列化为 BSON

javascript - 安全 HTTP 基本身份验证

javascript - 组合数组中相似的对象

javascript - 需要中间件功能的路由

javascript - 如何在 puppeteer 上登录没有 id 的页面?

javascript - 如何在 Puppeteer 中指定浏览器语言

javascript - ffmpeg Image2pipe 命令从 PhantomJS 获取图像流时无限卡住

android - 尝试在真实手机上启动应用程序时,Expo 卡在无休止的加载屏幕上

Angular 。如何从 node_modules 导入 css

javascript - 如何在保持背景颜色不变的情况下为 Puppeteer 生成的 pdf 页面的文本添加边距