【问题标题】:deploying rails3 apps with bundler and phusion passenger: .bundle dir not found使用 bundler 和 phusion 乘客部署 rails3 应用程序:.bundle dir not found
【发布时间】:2011-01-30 11:10:43
【问题描述】:

我正在尝试使用最新的 phusion 乘客 2.2.11 和 ruby​​-enterprise-1.8.7-2010.01 部署 rails3 应用程序。我正在使用捆绑器,但乘客似乎无法找到 .bundle 目录。

错误信息:

git://github.com/rails/rails.git (at master) is not checked out. Please run `bundle install` (Bundler::PathError)

我在哪里安装 .bundle?我在哪里告诉乘客使用哪个捆绑包? 有什么提示吗?

谢谢!

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 passenger bundler


    【解决方案1】:

    我认为您正在搜索的命令是

    bundle pack
    

    这会将您的 gem 从 .bundle 目录移动到供应商/缓存。

    请参阅 yehuda katz 在他的网站上发布的关于捆绑器工作流程的帖子:http://yehudakatz.com/2010/02/09/using-bundler-in-real-life/

    关于捆绑器目录的更多信息:您可以在 application.rb 文件中添加以下行,这将更改 phusion 乘客的捆绑器目录:

    ENV['BUNDLER_HOME']="/home/or-wherever-you-want-to-point-it"
    

    【讨论】:

    • 请注意,这篇博文已经过时(供人们从这里开始看到)
    • 我必须运行bundle pack --all。如果没有 --all 标志,它不会打包 GIT/路径依赖项。 (使用捆绑器 1.3.0。)
    【解决方案2】:

    您不需要“打包”您的宝石。

    我已经花了一周的时间尝试了所有方法。按照此处的所有故障排除步骤最终解决了它:

    https://github.com/carlhuda/bundler/blob/master/ISSUES.md

    祝你好运!

    【讨论】:

    • 是的,不应该这样做,但这正是我在 Digital Ocean Ubuntu rails 设备上的生产中必须做的事情。我尝试了您粘贴的链接中的所有内容均无济于事
    【解决方案3】:

    也一直在和这个战斗。我发现做一个

    bundle --deployment
    

    成功了。请参阅此处的帖子:Rails 3: Passenger can't find git gems installed by bundler

    但是对我来说似乎有点 hacky。想知道这是否是乘客或捆绑器的问题?它是特定于版本的,等等...

    【讨论】:

      【解决方案4】:

      This gem bundler site 说部署你可以使用:

      bundle install --deployment
      

      【讨论】:

      • 对我不起作用。它试图构建原生扩展,但它带来了更多的痛苦:make、gcc、在 gcc 编译中使用 libs 的 toubles....
      【解决方案5】:

      试试

      bundle install vendor/bundler
      

      【讨论】:

        【解决方案6】:

        对我有什么帮助: 1. CentOS 6.x 64位 2. Bitnami stack bundle with spree 1.3.1

        cd SPREE_APP_ROOT_AKA_RAILS_ROOT
        /opt/spree-1.3.1-0/ruby/bin/bundle install
        

        结果 gem 出现在根目录中。但这并不好。它应该转到 vendor/cache 和其他底层文件夹。

        我跑的:

        /opt/spree-1.3.1-0/ruby/bin/bundle package --all 
        

        选项 --all 用于打包“git”gem。

        重新启动乘客并继续:)

        【讨论】:

          猜你喜欢
          • 2014-03-26
          • 2011-11-02
          • 1970-01-01
          • 2015-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-05-20
          相关资源
          最近更新 更多