我正在尝试添加一个配置参数,deploy.rb
以便pg
gem 正确构建:
before "bundle:install" do
run "ls -l #{fetch(:latest_release)}/Gemfile"
run "bundle config --local --gemfile=#{fetch(:latest_release)}/Gemfile build.pg --with-pg-config=/usr/pgsql-9.1/bin/pg_config"
end
在输出中,添加的诊断代码清楚地显示了非空 Gemfile 的存在:
* executing `bundle:install'
triggering before callbacks for `bundle:install'
* executing "ls -l /apps/my_app/releases/20121008195429/Gemfile"
servers: ["my_server.com"]
[my_server.com] executing command
** [out :: my_server.com] -rw-r--r-- 1 webapp webapp 1291 Oct 5 22:34 /apps/my_app/releases/20121008195429/Gemfile
command finished in 157ms
* executing "bundle config --local --gemfile=/apps/my_app/releases/20121008195429/Gemfile build.pg --with-pg-config=/usr/pgsql-9.1/bin/pg_config"
servers: ["my_server.com"]
[my_server.com] executing command
** [out :: my_server.com] Could not locate Gemfile
如果我使用--global
Vice ,我会得到相同的结果--local
。如果我删除global
/local
标志,我会得到一个不同的错误:
** [out :: my_server.com] Invalid scope --gemfile=/apps/my_app/releases/20121008194937/Gemfile given. Please use --local or --global.
似乎有一个全局配置或上下文使情况混乱。我怎样才能bundle config
看到我的Gemfile
?有一个更好的方法吗?