当我尝试运行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 中指定的其他依赖项工作正常。只有这个会产生问题。
详细信息:
有什么建议吗?
答案 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
,这应该可以解决您的问题。
更新:
我将为您建议另外两个选择
在您的终端上,运行以下命令:
npm config set unsafe-perm=true
OR
yarn add
进行安装。