node官方docker镜像运行bower 提示 permission denied 解决方法

时间:2022-04-26 07:28:01

在使用node官方docker镜像部署node应用时,应用需要npm的scripts中运行bower install 来安装前端包,但是用docker 构建时失败,提示 permission deined. 因为官方镜像的默认用户叫node,所以才会出现没有root权限来运行bower。

解决办法只需要在执行npm 脚本时加上 --unsafe-perm,如: npm --unsafe-perm install,这样scripts中的脚本就会拥有root权限,从而执行一些需要root权限的脚本。

该参数说明如下:

unsafe-perm

  • Default: false if running as root, true otherwise
  • Type: Boolean

Set to true to suppress the UID/GID switching when running package scripts. If set explicitly to false, then installing as a non-root user will fail.

https://docs.npmjs.com/misc/config#unsafe-perm