无法使用npm安装puppeteer-连接EACCES

时间:2018-12-04 16:07:29

标签: npm npm-install puppeteer

当我尝试运行npm install时,它在称为puppeteer的依赖项上失败。

如果我跑步:

npm install -g puppeteer@1.5.0

(在package.json中以"puppeteer": "1.5.0",存在)失败,并出现以下错误:

npm ERR! code EACCES
npm ERR! errno EACCES
npm ERR! FetchError: request to http://registry.npmjs.org/puppeteer failed, reason: connect EACCES 104.16.27.35:80
npm ERR!     at ClientRequest.req.on.err (C:\Program Files\nodejs\node_modules\npm\node_modules\node-fetch-npm\src\index.js:68:14)
npm ERR!     at ClientRequest.emit (events.js:182:13)
npm ERR!     at Socket.socketErrorListener (_http_client.js:391:9)
npm ERR!     at Socket.emit (events.js:182:13)
npm ERR!     at emitErrorNT (internal/streams/destroy.js:82:8)
npm ERR!     at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
npm ERR!     at process._tickCallback (internal/process/next_tick.js:63:19)

但是我可以使用浏览器访问该URL(http://registry.npmjs.org/puppeteer)。

package.json 中指定的其他依赖项工作正常。只有这个会产生问题。

详细信息

  • npm-6.2.0
  • 节点-v10.9.0
  • 操作系统:Windows

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

  

npm错误!代码EACCES

     

npm错误! errno EACCES

这是一个权限错误,在正常情况下,我会说您应该只使用sudo npm install -g puppeteer@1.5.0,但是我建议您通过运行以下命令来回收 .npm 目录的所有权:

sudo chown -R $(whoami) ~/.npm

然后,您需要在node_modules目录中具有写许可权:

sudo chown -R $(whoami) /usr/lib/node_modules

之后您可以运行npm install -g puppeteer@1.5.0,这应该可以解决您的问题。

更新:

我将为您建议另外两个选择

  1. 在您的终端上,运行以下命令:

    npm config set unsafe-perm=true

OR

  1. 使用yarn add进行安装。