/docker-node-cn

Primary LanguageDockerfileMIT LicenseMIT

node-cn

GitHub Action :Upload node-cn to docker.io

全局依赖

BestPractices install global-npm-dependencies

npm6安装依赖的时候使用当前用户的权限去创建文件,因为docker默认是root用户,而npm出于安全考虑默认是不使用root用户安装的,强制使用root用户安装可以通过指令--unsafe-perm实现,参见npm --unsafe-perm

npm7之后安装依赖的权限控制修改了,和安装目录的的权限保持一致而不是以当前用户的权限去创建文件,所以unsafe-perm这个指令被移除了,参见 npm7 changelog_unsafe-perms

故而在docker环境中npm安装一些全局依赖,最好指定安装路径为非root用户,参见BestPractices install global-npm-dependencies

ENV NPM_CONFIG_PREFIX=/home/node/.npm-global

ENV PATH=$PATH:/home/node/.npm-global/bin # optionally if you want to run npm global bin without specifying path