【问题标题】:AWS OpsWorks Ruby on Rails App Deploy - Couldn't find Rake in any of the sourcesAWS OpsWorks Ruby on Rails App Deploy - 在任何来源中都找不到 Rake
【发布时间】:2016-04-15 07:14:32
【问题描述】:

您好,我正在使用 AWS OpsWorks 部署一个使用 MySQL 数据库的 Ruby on Rails 应用程序。我已经正确启动了应用服务器和数据库服务器,但是访问应用服务器的 IP 地址会产生以下错误:

The page you were looking for doesn't exist.

You may have mistyped the address or the page may have moved.

日志说:

cat /var/log/httpd/error.log

App 4689 stdout: 
App 4689 stderr: /usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.5.3/lib/bundler/spec_set.rb:92:in `block in materialize'
App 4689 stderr: : 
App 4689 stderr: Could not find rake-10.4.2 in any of the sources
App 4689 stderr:  (
App 4689 stderr: Bundler::GemNotFound
App 4689 stderr: )
App 4689 stderr:    from /usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.5.3/lib/bundler/spec_set.rb:85:in `map!'
App 4689 stderr:    from /usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.5.3/lib/bundler/spec_set.rb:85:in `materialize'
App 4689 stderr:    from /usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.5.3/lib/bundler/definition.rb:133:in `specs'
App 4689 stderr:    from /usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.5.3/lib/bundler/definition.rb:178:in `specs_for'
App 4689 stderr:    from /usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.5.3/lib/bundler/definition.rb:167:in `requested_specs'
App 4689 stderr:    from /usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.5.3/lib/bundler/environment.rb:18:in `requested_specs'
App 4689 stderr:    from /usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.5.3/lib/bundler/runtime.rb:13:in `setup'
App 4689 stderr:    from /usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.5.3/lib/bundler.rb:119:in `setup'
App 4689 stderr:    from /usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.5.3/lib/bundler/setup.rb:17:in `<top (required)>'
App 4689 stderr:    from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
App 4689 stderr:    from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require'

我读过这是一个安装或路径或权限错误,并看到其他使用 rbenv 卸载/重新安装 rake 的解决方案,但 OpsWorks 不使用 rbenv。

请指教。

【问题讨论】:

    标签: ruby-on-rails amazon-web-services rake bundler aws-opsworks


    【解决方案1】:

    似乎 OpsWork/Agent 安装已损坏。 Rake/Bundler gems 默认安装。由于我们不知道实例/堆栈等。总的来说,设置阶段似乎不成功。

    OpsWorks 实例中的前:

    [root@rails-app2 ~]# su - 部署 最后登录时间:2015 年 6 月 18 日星期四 00:39:20 UTC

    [deploy@rails-app2 ~]$ which rake /usr/local/bin/rake

    [deploy@rails-app2 ~]$ 哪个捆绑器 /usr/local/bin/捆绑器

    [deploy@rails-app2 ~]$ 哪个包 /usr/local/bin/bundle

    [deploy@rails-app2 ~]$ gem 列表

    * 本地宝石 *

    大十进制 (1.2.4)
    捆绑器 (1.5.3)
    io 控制台 (0.4.3)
    json (1.8.1)
    kgio (2.9.3)
    迷你测试 (4.7.5)
    心理 (2.0.5)
    机架 (1.6.2)
    雨滴 (0.13.0)
    耙子 (10.1.0)
    rdoc (4.1.0)
    测试单元 (2.1.8.0)
    独角兽 (4.7.0)
    [deploy@rails-app2 ~]$ 注销

    [root@rails-app2 ~]# opsworks-agent-cli 实例

    AWS OpsWorks 实例代理状态报告:

    上次活动是 2016 年 1 月 12 日 18:01:12 UTC 的“配置” 代理状态:AWS OpsWorks 代理作为 PID 23871 运行 代理版本:3431-20151222151215,最新 OpsWorks 堆栈:MyWebApps OpsWorks 层:rails-app OpsWorks 实例:rails-app2 EC2 实例 ID:i-bxxxx06b EC2 实例类型:c3.large 架构:x86_64 总内存:3.84 Gb CPU:2x Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz

    地点:

    EC2 区域:ap-southeast-2 EC2 可用区:ap-southeast-2a

    网络:

    公共 IP:54.x.x.232 私有 IP:10.x.x.73

    [root@rails-app2 ~]#

    • 我建议创建新实例。

    • 另外,通常使用 Rails 迁移数据库时会出现问题。因此,可以手动登录实例并手动执行 OpsWorks 所做的工作,看看是否存在连接数据库的问题或其他与数据库/应用程序相关的问题。

    例如: su deploy -c "bundle exec rake RAILS_ENV=production db:migrate"

    HTH!

    【讨论】:

    • 我尝试部署到新堆栈和新实例。但现在我遇到了以下错误:Could not spawn process for application /srv/www/debate_watch_alpha/current: An error occured while starting up the preloader.
    猜你喜欢
    • 1970-01-01
    • 2014-03-02
    • 2012-03-30
    • 2018-08-01
    • 2015-04-03
    • 1970-01-01
    • 1970-01-01
    • 2015-02-21
    • 2013-12-25
    相关资源
    最近更新 更多