【问题标题】:Can't install puppeteer package on node无法在节点上安装 puppeteer 包
【发布时间】: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

但这没有任何帮助。

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

【问题讨论】:

    标签: node.js node-modules puppeteer


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2018-06-14
      • 2019-03-30
      • 1970-01-01
      • 2016-10-15
      • 1970-01-01
      • 2022-06-30
      • 2022-01-08
      • 2017-07-03
      • 1970-01-01
      相关资源
      最近更新 更多