Closed johnnychq closed 7 years ago
Error: EACCES: permission denied, open '/home/cxinscn_cathay_portal/tmp/.travis.yml'
权限问题,你看一下文件系统权限。
能知道是哪个模块在 dependencies 里面写了 egg-ci 么?
是你自己在 devDependencies 引的 egg-ci 啊,然后我看生成的 travis 文件地址也是到你的项目目录的。
解决方案:
cnpm install --production
,不安装 devDepencenciesdevDependencies直接依赖了egg-ci,这个是以前脚手架里复制过来的,没特别留意,删除后解决。
但还是不能解释为什么root身份cnpm install egg-ci会报上述错误(但win,mac又没问题)的问题。
------seperate line-------
刚又排查了权限问题,当前用户虽然是root,但当前文件夹的权限为dr-xr-xr-x
,所以即使默认root也无法执行。
谢谢dead-horse帮忙排查
其实安装devDependencies是为了浏览器端Antd静态资源编译打包的,我们项目偷懒,服务端依赖和前端依赖没分开。刚才操作的机器是测试环境编译机,做antd静态资源打包的。
egg部署生产时出现问题,直接原因是egg间接依赖了
egg-ci
,但egg-ci安装失败,windows/mac开发环境均可,但centos不可以,单独cnpm install egg-ci
也失败。运行命令时,直接是root身份,所以不明白为啥postinstall报权限问题