1

我一直在尝试设置一个使用 RVM 安装 ruby​​ 的厨师食谱,然后使用 application_ruby 食谱来配置应用程序,但是我一直遇到错误

NameError: Cannot find a resource for bundle_options on ubuntu version 12.04

我正在使用以下代码

application "application setup" do
  owner "ubuntu"
  group "ubuntu"
  repository "https://github.com/me/myapplication.git" // Real address removed
  path rails_app_path
  revision "master"

  rails do
    bundler true
    precompile_assets true
    bundler_deployment true
  end
end

我注意到最近添加了 bundle_options,https://github.com/opscode-cookbooks/application_ruby/commit/e7719170a661a957796e8e5d58ba8f4ecd937487但是我无法追踪这是否导致了问题。我已经包括

depends          "application"
depends          "application_ruby"

在我的 metadata.rb 中并确保我的所有依赖项都已安装,所以我不确定我在这一点上做错了什么。

4

2 回答 2

0

根据文档bundle_options是 rails 资源的属性,而不是资源本身。使用它的唯一正确方法是在“ rails ”块,因此您收到消息是因为您将其用作:

  • 应用程序资源的属性(但在“rails”块之外)
  • 独立资源(在任何资源之外)。

当引用不存在的资源时,将显示您提到的消息。例如,如果您尝试在系统上执行以下代码:

 nonexistent_resource "failure gonna happen" do
     some_attribute "whatever_value"
 end

你会收到一条消息

NameError:在 Ubuntu 版本 12.04 上找不到 nonexistent_resource 的资源

于 2013-12-02T11:32:34.993 回答
0

我今天也遇到了这个问题。看来问题是提交 e771917 忘记为 bundle_option 添加必要的 getter。有人提交了 PR 来修复它(https://github.com/poise/application_ruby/pull/44),但尚未合并。我可以确认,当我在本地进行更改时,此错误消失了。PR 中的分叉分支位于https://github.com/mauriciosilva/application_ruby/tree/bundle_options_fix

于 2014-01-17T18:18:50.647 回答