level 3
金鱼记忆大师😇
楼主
话不多说,直接上代码:

这条命令,是我用于启动项目的,该项目启动成功后,会运行一个postgresql的docker容器。我本地(windows)执行npm run start,成功,容器会跑起来。但是,当我把项目部署到服务器(linux centos)上时,执行npm run start会失败,报错如下:

但是执行node scripts/cli.js ...是可以启动容器的。这说明代码没问题,差别在于npm run start 和 node script...请教了一些朋友,根据报错提示可以知道跟docker权限有关,我这里服务器是root用户,所以啥权限都有。然后有朋友告诉我:在服务器上执行npm命令,默认不是以root用户,出于安全考虑,若要以root用户执行,需加上--unsafe-perm(这点在npm官方文档上有讲)我查了下,该参数直到npm 6还有,从npm 7开始就废除了。从npm 7开始,以登录用户身份执行,我的项目用的是npm 8,所以,我以root用户登录服务器,应该是不会有权限问题的。搞到这就不知道原因了,有没有
懂哥
指教下,谢谢
2022年09月02日 03点09分
1

这条命令,是我用于启动项目的,该项目启动成功后,会运行一个postgresql的docker容器。我本地(windows)执行npm run start,成功,容器会跑起来。但是,当我把项目部署到服务器(linux centos)上时,执行npm run start会失败,报错如下:
但是执行node scripts/cli.js ...是可以启动容器的。这说明代码没问题,差别在于npm run start 和 node script...请教了一些朋友,根据报错提示可以知道跟docker权限有关,我这里服务器是root用户,所以啥权限都有。然后有朋友告诉我:在服务器上执行npm命令,默认不是以root用户,出于安全考虑,若要以root用户执行,需加上--unsafe-perm(这点在npm官方文档上有讲)我查了下,该参数直到npm 6还有,从npm 7开始就废除了。从npm 7开始,以登录用户身份执行,我的项目用的是npm 8,所以,我以root用户登录服务器,应该是不会有权限问题的。搞到这就不知道原因了,有没有懂哥
指教下,谢谢