如何在Docker中安装全局模块?
获取Error: EACCES: permission denied, open '/usr/local/lib/node_modules
当试图在Error: EACCES: permission denied, open '/usr/local/lib/node_modules
中安装全局模块时Error: EACCES: permission denied, open '/usr/local/lib/node_modules
:
FROM node:latest RUN mkdir -p /code RUN npm i -g npm WORKDIR /code RUN npm set progress=false && npm install -g exp
在官方文档中没有关于节点或https://forums.docker.com/的信息。
这是npm和exp模块之间的问题。 您可以使用纱线来安装模块
MODULE 72: Module._load REQUEST path parent: /usr/local/lib/node_modules/exp/node_modules/decompress-zip/lib/file-details.js MODULE 72: load native module path ngrok - error unpacking binary { Error: EACCES: permission denied, open '/usr/local/lib/node_modules/exp/node_modules/@expo/ngrok/bin/ngrok' errno: -13, code: 'EACCES', syscall: 'open', path: '/usr/local/lib/node_modules/exp/node_modules/@expo/ngrok/bin/ngrok' } npm info lifecycle @expo/ngrok@2.2.8~postinstall: Failed to exec postinstall script npm WARN react-redux@5.0.6 requires a peer of react@^0.14.0 || ^15.0.0-0 || ^16.0.0-0 but none was installed. MODULE 38: Module._load REQUEST os parent: /usr/local/lib/node_modules/npm/lib/utils/error-handler.js MODULE 38: load native module os
但是你可以用纱线来安装它
$ yarn global add exp
请参阅下面的问题了解更多详情
在安装命令之前,您可以尝试以节点或root用户身份login,在运行之前添加“USER”命令:
USER node
要么
USER root