在安装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
但这没有帮助。
我在stackoverflow上发现了类似的问题, answer。但仍然不知道如何解决我的问题。
答案 0 :(得分:1)
什么是cacache?
cacache是一个Node.js库,用于管理本地密钥和内容地址缓存。它确实非常快,并发性很好,即使缓存文件被破坏或操纵,它也永远不会给您破坏数据。
它最初被编写为用作npm的本地缓存,但也可以很容易地单独使用。
从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
从this SO answer起,应答者升级到 npm 6.9.0 时遇到了同样的问题,解决方案是重新安装和升级节点,
brew reinstall node
与.staging相关的old issue on npm提供了此修复程序。
尝试删除软件包锁定文件并重新安装软件包,
rm -rf node_modules
rm -f package-lock.json
npm install