【问题标题】:is not checked out... bundle install does NOT fix help!未签出... bundle install 不修复帮助!
【发布时间】:2011-10-02 16:40:45
【问题描述】:
https://github.com/intridea/omniauth.git (at master) is not checked out. Please run `bundle install` (Bundler::GitError)

那我该怎么办? bundle install 适用于开发,但是当我推送并部署到我的生产服务器时。即使在我的生产服务器上运行 bundle install 后,我也会收到此错误。

【问题讨论】:

  • 即使您的问题已经得到解决,您能否为其添加更多上下文,以便对其他有类似问题的人有用?例如,你做了什么来得到这个错误信息?

标签: ruby-on-rails ruby git gem


【解决方案1】:

您可能正在运行乘客。这是一些解决方案的问题 - http://code.google.com/p/phusion-passenger/issues/detail?id=505

尝试运行bundle install --deployment

【讨论】:

  • 请注意,收到一条运行 3.0.9 的折旧消息,说明我们应该使用捆绑安装路径部署。
  • 这掩盖了问题而不是解决了问题——--deployment 模式不适用于开发,并且会给每个包带来问题。
  • "在部署模式下,Bundler 将“推出”捆绑包以供生产使用。"该供应商(将宝石复制)到您的开发应用程序中,从而使应用程序的代码膨胀。一定有更好的方法来解决这个问题?
  • Regarding my previous comment: 尝试从您的项目中删除 Gemfile.lock.bundle/config 并运行 bundle install。 (请注意,当您运行 bundle install 时,缺少 Gemfile.lock 可能会导致某些 gem 更新。)它为我解决了这个问题。在开发或测试环境中启用部署模式之前值得一试。
  • 如果你们以后需要它,这就是你恢复它的方式:bundle install --no-deployment
【解决方案2】:

此错误可能与 spring gem 有关。再生 spring binstubs 对我有用。

bundle exec spring binstub --all

https://github.com/rails/spring/issues/387

【讨论】:

    【解决方案3】:

    对于那些遇到“bundle & git repo”问题的人。

    1. $ bundle pack
    2. $ bundle install --path vendor/cache
    

    更多详情请参考https://stackoverflow.com/a/5268534/445908

    【讨论】:

      【解决方案4】:

      对我来说,只需将其添加到 gemfile 中即可:

      source 'http://gems.github.com'
      

      【讨论】:

      【解决方案5】:

      如果您的计算机永远不会重新启动,那么 Spring 可能就是问题所在。 Spring 运行了 350 小时并导致缓存过时的 TEST 环境。我在 Rubymine 的黄瓜测试环境中遇到了这个问题。奇怪的是,从(mac)命令提示符没有问题。

      spring status
      spring stop
      

      瞧!一切都再次奏效了。

      【讨论】:

      • 如果您将 repo url 从 git:// 更改为 https://,也会发生这种情况。 spring stop a.k.a. “你试过把它关掉再打开吗?”是唯一(!)在这种情况下有效的东西。
      【解决方案6】:

      升级到 ruby​​ 2.7.0 后遇到这个问题

      看起来可能发生了一些变化,以弃用专注于商业公司的:github => 到专注于实际软件平台的:git =>。可能更好地简化代码逻辑的可维护性。

      更改以下内容:

      gem 'devise', :github => 'plataformatec/devise'  
      

      到以下:

      gem 'devise', :git => 'git://github.com/plataformatec/devise'
      

      另一种方法是您仍然可以在 Gemfile 顶部引用 :github 作为您的 git_source 并像这样正常引用 Gems:

      source 'https://rubygems.org'                                                                                                                             
      git_source(:github) { |repo| "https://github.com/#{repo}.git" }
      ...
      gem 'devise'
      

      【讨论】:

      • 这也是我升级后问题的解决方案。赞成:)
      • 这也为我解决了问题。非常感谢!
      【解决方案7】:

      如果您运行bundle install,然后尝试运行您看到的任何内容“... github.com ...尚未签出。请先运行bundle install。” - 这意味着您需要在命令前使用bundle exec,例如:

      bundle exec rails s
      

      【讨论】:

        【解决方案8】:

        在项目目录中本地安装 gem 为我修复它。

         $ bundle install --path vendor/bundle
        

        【讨论】:

          【解决方案9】:

          这个解决方案

          $ bundle install --path vendor/bundle
          

          解决了我通过工头运行多个 Rails 应用程序的问题。

          注意:如果您使用rbenv,请不要忘记执行rbenv rehash
          如果尚未添加,请在您的 .gitignore 中添加 /vendor/bundle

          【讨论】:

          • Bundle 建议使用bundle config set --local path 'vendor/bundle',因为--path 已被弃用。
          【解决方案10】:

          我的问题是我无法访问 github

          试试ssh -vT git@github.com,看看能不能搞定

          git@github.com:权限被拒绝(公钥)。

          那就看https://help.github.com/articles/error-permission-denied-publickey/

          【讨论】:

            【解决方案11】:

            对于 2021 年的任何人来说,接受的答案已经过时,因为 --deployment 标志已弃用。

            改用这个:

            bundle config set --local deployment 'true'
            

            【讨论】:

              【解决方案12】:

              这是一个权限错误。以下工作

              环境:RVM 与 Apache

              RVM 用户:组:rvm:rvm

              Apache 用户:组:apache:apache

              您需要将 apache 用户添加到 RVM 组

              usermod -a -G rvm apache
              

              【讨论】:

              • 另外加入讨论:我遇到了同样的问题,所以我尝试将 nginx.conf 中的用户显式设置为安装了 RVM 并且它工作的用户。所以在它被注释掉之前:#user nobody;,现在它是:user jake。
              【解决方案13】:

              是什么最终帮助了我一次又一次:

              1. 按照 Galen 的建议重新安装所有内容(所有步骤来自 https://github.com/carlhuda/bundler/blob/master/ISSUES.md

              2. 使用bundle 代替rvmsudo bundle

              【讨论】:

                【解决方案14】:

                按如下方式更新您的 Gemfile;

                gem 'activeadmin', github: 'activeadmin/active_admin', branch: '0-6-stable'
                

                然后,

                bundle install
                

                如果仍然出现错误(因为您已尝试“bundle install --deployment”,然后尝试运行)

                bundle install --no-deployment
                

                【讨论】:

                  【解决方案15】:

                  重启 bash 会话对我有帮助

                  【讨论】:

                    【解决方案16】:

                    另一个解决方案,当我在 Docker 中从我的 Github 存储库安装私有 gem 时遇到同样的问题时,它帮助了我(我的 gem 在卷 /gems 中):

                    # Add known host 
                    RUN mkdir -p -m 0600 ~/.ssh && ssh-keyscan github.com >> ~/.ssh/known_hosts
                    
                    RUN bundle config set path /gems # this fixes issue with private repos DON'T USE ENV BUNDLE_PATH /gems
                    RUN --mount=type=ssh bundle install
                    

                    要转发 SSH,请使用以下命令构建:

                    docker build --ssh default .
                    

                    【讨论】:

                      猜你喜欢
                      • 2013-01-05
                      • 1970-01-01
                      • 2011-08-17
                      • 2014-07-19
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      相关资源
                      最近更新 更多