amazon-web-services - 使用 Elastic Beanstalk 全局安装包

标签 amazon-web-services amazon-elastic-beanstalk

我正在使用 Elastic Beanstalk 部署一个应用程序,并且该应用程序的一部分有一个运行“sass”的 grunt 任务,我已经安装了 sass,但它是在本地安装的,因此不是 PATH 的一部分,因此 grunt 任务失败。

我刚刚尝试向 beanstalk 配置添加一个 命令,该命令执行 sudo gem install sass 但失败,并显示 Command failed on instance。返回代码:1 输出:sudo:抱歉,您必须有一个 tty 才能运行 sudo。

让 sass 进入 PATH 的最佳方法是什么?似乎没有一个简单的方法来更新 PATH/使用 elastic beanstalk 设置 .bashrc

最佳答案

使用 ebextensions 命令是正确的方法。您不需要 sudo,因为命令以必要的权限运行。

看起来您正在使用节点解决方案堆栈(因为您提到了 grunt)。您的实例上可能有多个版本的 ruby​​。您需要确保使用正确的 gem 二进制文件,以便您的依赖项安装在正确的位置。

/usr/bin 中安装了一个 ruby​​,在 /opt/elasticbeanstalk/lib 中安装了另一个 ruby​​。后者由 Elastic Beanstalk 使用,这不是您想要的。您想要在 /usr/bin 下运行 gem 二进制文件。

关于amazon-web-services - 使用 Elastic Beanstalk 全局安装包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30252047/

相关文章:

amazon-web-services - 如何在 AWS-IOT 中将多个设备连接到同一事物?

json - 在 Terraform 变量中使用 JSON 格式的字符串

amazon-web-services - aws ec2 实例和弹性云部署之间的隧道

amazon-web-services - AWS Beanstalk,如何自动重启(或终止)未响应的实例

amazon-web-services - 设置 CloudWatch 日志的合理方法 (awslogs-agent)

bash - AWS 配置 Bash One Liner

amazon-web-services - AWS Lambda - 什么是在 CI/CD 管道中对 lambda 进行版本控制和提升的最佳实践

node.js - 如何从部署在AWS Elastic beanstalk上的node.js Express应用程序获取客户端IP?

docker - 调试 Elastic Beanstalk Docker 运行失败?

amazon-web-services - 使用 API 通过 RDS 配置 ElasticBeanstalk