我只是设法找出解决我环境中类似问题的方法。运行节点 10.15。也许你已经解决了这个问题——如果是这样,恭喜!完全免责声明,我不是 Elasticbeanstalk 配置方面的专家,但想分享一个潜在的解决方案。
/.ebextension
尝试添加一个包含以下内容的 yaml 配置文件:
commands:
99-installphantom:
env:
PATH: /sbin:/bin:/usr/sbin:/usr/bin:/opt/aws/bin:/opt/elasticbeanstalk/node-install/node-v10.15.1-linux-x64/bin/
command: npm install -g phantomjs-prebuilt --unsafe-perm
这会强制全局安装 phantomjs,并且该--unsafe-perm
标志以 root 权限运行脚本。
通过使用此问题中的最后一条评论得到提示,然后导致“权限被拒绝错误” - 因此是不安全的烫发。
作为参考,我还有以下 Elasticbeanstalk 设置,这显然不足以 npm install everything...:
/.ebextensions/00_change_npm_permissions.config
files:
"/opt/elasticbeanstalk/hooks/appdeploy/post/00_set_tmp_permissions.sh":
mode: "000755"
owner: root
group: root
content: |
#!/usr/bin/env bash
chown -R nodejs:nodejs /tmp/.npm
.npmrc
在同一目录中package.json
# Force npm to run node-gyp also as root, preventing permission denied errors in AWS with npm
unsafe-perm=true