未签出...捆绑安装无法修复帮助!

问题描述 投票:0回答:17
https://github.com/intridea/omniauth.git (at master) is not checked out. Please run `bundle install` (Bundler::GitError)

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

ruby-on-rails ruby git rubygems
17个回答
123
投票

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

尝试跑步

bundle install --deployment


24
投票

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

bundle exec spring binstub --all

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


14
投票

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

bundle pack
bundle install --path vendor/cache

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


6
投票

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

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

6
投票

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

spring status
spring stop

瞧!一切又恢复正常了。


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'

4
投票

如果您运行

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

bundle exec rails s

2
投票

对于 2021 年这里的任何人来说,接受的答案已经过时,因为

--deployment
标志已弃用。

用这个代替:

bundle config set --local deployment 'true'

1
投票

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

 $ bundle install --path vendor/bundle

1
投票

这个解决方案

$ bundle install --path vendor/bundle

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

注意:如果您使用

rbenv rehash
,请不要忘记执行
rbenv

如果尚未添加,请在您的
/vendor/bundle
中添加
.gitignore


1
投票

我的问题是我无法访问 github

尝试

ssh -vT [email protected]
看看你是否得到

[电子邮件受保护]:权限被拒绝(公钥)。

然后参见https://help.github.com/articles/error-permission-denied-publickey/


1
投票

另一个解决方案,当我在 Docker 中从 Github 存储库安装私有 gem 时遇到同样的问题时对我有所帮助(我的 gems 在卷 /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 .

0
投票

这是一个权限错误。以下有效

环境:带有 Apache 的 RVM

RVM 用户:组:rvm:rvm

Apache 用户:组:apache:apache

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

usermod -a -G rvm apache

0
投票

最终永远帮助我的是什么:

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

  2. 使用

    bundle
    代替
    rvmsudo bundle


0
投票

按如下方式更新您的 Gemfile;

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

然后,

bundle install

如果仍然出现错误(因为你已经尝试过'bundle install --deployment',然后尝试运行)

bundle install --no-deployment

0
投票

重新启动 bash 会话对我有帮助


0
投票

最近我在 Circle CI 上收到错误消息:

#!/bin/bash -eo pipefail
bundle exec rails db:setup

https://github.com/randym/axlsx.git (at c8ac844@c8ac844) is not yet checked out. Run `bundle install` first.

Exited with code exit status 1
CircleCI received exit code 1

gem依赖项无法解析时会发生此错误。 所以我在 Gemfile 中切换回预发布版本来修复它

-gem 'axlsx', github: 'randym/axlsx', ref: 'c8ac844572b25fda358cc01d2104720c4c42f450'
+gem 'axlsx', '3.0.0.pre'

并运行 update 来更新 gem 依赖项

bundle update axlsx
© www.soinside.com 2019 - 2024. All rights reserved.