在root下运行bundler - git://github.com/feedbin/activerecord-import.git(在b7851b1)未签出。请运行`bundle install`

时间:2013-09-14 06:01:06

标签: ruby-on-rails ruby bundler chef

我用厨师来运行捆绑。

bash "feedbin_bundle" do
   cwd "/home/ubuntu/workspace/frontend"
   user "root"
   group "root"
   code <<-EOH
     bundle install
   EOH
end

现在我想以ubuntu用户身份运行以下代码:

ubuntu@ubuntu:~/workspace/frontend$ rake db:setup
'git://github.com/feedbin/activerecord-import.git (at b7851b1) is not checked out. Please run `bundle install`

如果我以root身份运行一切都很好。如何避免上述错误并运行rake db:setup?

2 个答案:

答案 0 :(得分:1)

此处的问题是您的用户root已在~root/.gems目录中安装了您的宝石。你不想要这个。你有三种可能性:

  • 通过调整/etc/gemrc文件
  • 在系统范围内安装gem
  • 以运行应用程序的用户身份安装gems
  • “干净”解决方案:在vendor子目录中安装宝石:bundle install --path=vendor/。这样,gems只为项目安装,不会与其他项目冲突。

答案 1 :(得分:0)

您应该bundle install作为ubuntu运行您想要用来运行程序的用户。