当前位置: 首页 > 知识库问答 >
问题:

弹性豆茎无法安装软件包

干子瑜
2023-03-14

我试图在AWS弹性豆茎上部署我的应用程序。我得到了这个错误,完全看不出问题在哪里。

以下是中的代码。ebextensions/mysite env.config

packages:
  yum:
    python-devel: []
    postgresql-devel: []

container_commands: 
  01_syncdb:
    command: "django-admin.py syncdb --noinput"
    leader_only: true
  02_createadmin: 
    command: "scripts/createadmin.py"
    leader_only: true

option_settings: 
  - option_name: WSGIPath
    namespace: "aws:elasticbeanstalk:container:python"
    value: "mysite/wsgi.py"
  - option_name: DJANGO_SETTINGS_MODULE
    value: "mysite.settings"

在几次尝试之后,我发现了一些事情

  1. 上面的配置文件似乎在root中的requirements.txt之后运行
  2. 无法安装这些包(如上所述),但我可以通过进入EC2实例的ssh来安装(奇怪)

[1]的问题是,要安装psycopg2,我需要上述软件包。那么,如何首先安装它们?

当我运行这些设置时,我得到以下错误:

[2014-11-19T09:45:19.819Z] INFO  [6703]  - [CMD-AppDeploy/AppDeployStage0/EbExtensionPreBuild] : Activity execution failed, because: command failed with error code 1: Error occurred during build: Yum does not have postgresql-devel available for installation (Executor::NonZeroExitStatus)

然后,我使用了下面的设置

packages:yum:python-devel:[]apt:PostgreSQL-devel:[]

然后我得到下面的错误:

[2014-11-19T09:47:54.271Z] ERROR [6789]  : Command execution failed: [CMD-AppDeploy/AppDeployStage0/EbExtensionPreBuild] command failed with error code 1: Error occurred during build: [Errno 2] No such file or directory (ElasticBeanstalk::ActivityFatalError)
    at /opt/elasticbeanstalk/lib/ruby/lib/ruby/gems/2.1.0/gems/beanstalk-core-1.0/lib/elasticbeanstalk/activity.rb:189:in `rescue in exec'
    ...
caused by: command failed with error code 1: Error occurred during build: [Errno 2] No such file or directory (Executor::NonZeroExitStatus)

当我可以直接从<code>ssh<code>安装这些软件包时,自动化有什么问题?我的设置有什么问题?

共有3个答案

谢修真
2023-03-14

根据AWS,这是正确的方法。

Python 3

packages:
  yum:
    python34-devel: []
    postgresql94-devel: []

Python 2.7

packages:
  yum:
    python27-devel: []
    postgresql94-devel: []

参考

姜楷
2023-03-14

除了手工安装这些软件包,我找不到其他方法。

packages:
  yum:
    ...

commands:
  01_python_devel_install:
    command: 'yum install -y python34-devel'

  02_postgresql_install:
    command: 'yum install -y postgresql94 postgresql94-devel'

我从弹性豆茎开始,这并没有给我一个好的第一印象。

权承
2023-03-14

在yum语句中使用postgresql93-devel,因为它们已经更新了包名称

packages:
  yum:
    python26-devel: []
    postgresql93-devel: []
 类似资料:
  • 配置验证异常:AWS Elastic Beanstatk无法与Amazon EC2通信以确定是否为Elastic Load均衡创建自定义安全组。 在创建AWS Elastic Beanstalk应用程序时,我在尝试继续“查看和启动”时遇到了这个错误。我是新手。请帮忙。

  • 有人知道是否有可能将现有的AWS弹性豆茎环境更改为应用程序负载平衡器(而不是经典的负载平衡器)。 据我所知,只有应用程序ELB可以被AWS WAF和DDOS“屏蔽”保护,所以任何现有的EB应用程序都不能利用这些特性,因为他们有经典的ELB。

  • 我是AWS的新手,这个问题似乎很基本。然而,我需要看看我是否能找到解决方案。 我首先创建并启动了一个 EC2 实例,然后创建了一个弹性 Beanstalk 实例,并在该实例上部署了一个示例应用程序。默认情况下,弹性 Beanstalk 会将“默认环境”附加到此实例,我无法将其更改为我的 EC2 实例。如何将我的 EC2 实例(我之前创建的实例)附加到此弹性豆茎实例?我正在使用亚马逊免费套餐来学习。

  • 我试图增加Amazon弹性Beanstalk的超时,但我仍然得到504网关超时。 以下是我目前所做的工作: 尽管如此,我仍然得到一个“504网关超时”后正好60.1秒。 我错过了什么能让它发挥作用的?

  • 我在AWS ElasticBeanstalk(64位Amazon Linux/2.9.7上运行的PHP7.3)上部署了一个Laravel应用程序。应用程序运行正常,但在少数请求中会随机抛出以下错误。 PHP致命错误:未捕获的意外值异常:无法打开流或文件“/var/app/current/storage/logs/laravel.log”:无法打开流:在/var/app/current/vendor

  • 我正在严格遵循弹性豆茎文档(http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs_express.html),但我无法使用git部署节点.js或PHP应用程序。 如果我试图从git推动,也会发生同样的事情 当您调用eb init时,AWS工具会设置一些git快捷方式。失败的呼叫是。。。 该python模