我在安装 puppeteer 包时遇到问题。
我的 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/