web-dev-qa-db-ja.com

rbenvで動作しないバンドル

Rbenvでbundlerを使用しようとしています。私は今日まで働いています。それを破るために私がしたかもしれない唯一のものはgem pristine --all または gem cleanup?バンドラーをインストールしようとすると、次のエラーが表示されます。

Antarrs-MacBook-Pro:some-app antarrbyrd$ Sudo gem install bundler
Password:
Bundler gave the error "Could not find mail-2.5.4 in any of the sources" while processing "/Users/antarrbyrd/dev/some-app/Gemfile". Perhaps you forgot to run "bundle install"?
Successfully installed bundler-1.7.12
Parsing documentation for bundler-1.7.12
Done installing documentation for bundler after 3 seconds
1 gem installed
Antarrs-MacBook-Pro:some-app antarrbyrd$ bundle install
/Users/antarrbyrd/.rbenv/versions/2.1.2/lib/Ruby/site_Ruby/2.1.0/rubygems/dependency.rb:315:in `to_specs': Could not find 'bundler' (>= 0) among 8 total gem(s) (Gem::LoadError)
Checked in 'GEM_PATH=/Users/antarrbyrd/.gem', execute `gem env` for more information
    from /Users/antarrbyrd/.rbenv/versions/2.1.2/lib/Ruby/site_Ruby/2.1.0/rubygems/dependency.rb:324:in `to_spec'
    from /Users/antarrbyrd/.rbenv/versions/2.1.2/lib/Ruby/site_Ruby/2.1.0/rubygems/core_ext/kernel_gem.rb:64:in `gem'
    from /usr/local/bin/bundle:22:in `<main>'

私がする時 rbenv rehash または rbenv bundler onこのエラーが発生する

Bundler gave the error "Could not find mail-2.5.4 in any of the sources" while processing "/Users/antarrbyrd/dev/some-app/Gemfile". Perhaps you forgot to run "bundle install"?

〜/ .bash_profile

export BUNDLER_EDITOR=atom
export PATH=$PATH:/usr/local/opt/Android-sdk/build-tools/21.1.2
export HOMEBREW_GITHUB_API_TOKEN=...

export Android_HOME=/usr/local/opt/Android-sdk
export PATH="$HOME/.rbenv/bin:$PATH"
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi

# Allow local Gem Managment 
# export GEM_HOME="$HOME/.gem"
# export GEM_PATH="$HOME/.gem"
# export PATH="$HOME/.gem/bin:$PATH"

gem env

RubyGems Environment:
  - RUBYGEMS VERSION: 2.2.2
  - Ruby VERSION: 2.1.2 (2014-05-08 patchlevel 95) [x86_64-darwin14.0]
  - INSTALLATION DIRECTORY: /usr/local/var/rbenv/versions/2.1.2/lib/Ruby/gems/2.1.0
  - Ruby EXECUTABLE: /usr/local/var/rbenv/versions/2.1.2/bin/Ruby
  - EXECUTABLE DIRECTORY: /usr/local/var/rbenv/versions/2.1.2/bin
  - SPEC CACHE DIRECTORY: /Users/antarrbyrd/.gem/specs
  - RUBYGEMS PLATFORMS:
    - Ruby
    - x86_64-darwin-14
  - GEM PATHS:
     - /usr/local/var/rbenv/versions/2.1.2/lib/Ruby/gems/2.1.0
     - /Users/antarrbyrd/.gem/Ruby/2.1.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - "gem" => "-n/usr/local/bin"
  - REMOTE SOURCES:
     - https://rubygems.org/
  - Shell PATH:
     - /usr/local/var/rbenv/versions/2.1.2/bin
     - /usr/local/Cellar/rbenv/0.4.0/libexec
     - /Users/antarrbyrd/.gem/bin
     - /usr/local/var/rbenv/shims
     - /usr/local/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /usr/local/var/rbenv/shims
     - /Users/antarrbyrd/.rbenv/bin
     - /Users/antarrbyrd/.rbenv/shims
     - /Users/antarrbyrd/.gem/bin
     - /usr/local/opt/Android-sdk/build-tools/21.1.2

update

Brew経由でrbenvを再インストールしましたが、バンドルインストールを実行すると次のエラーが表示されます。

The `bundle' command exists in these Ruby versions:
  2.1.5

Joelへの応答

Antarrs-MacBook-Pro:myapp antarrbyrd$ command -v Ruby
/usr/local/var/rbenv/shims/Ruby
Antarrs-MacBook-Pro:myapp antarrbyrd$ command -v bundle
/usr/local/bin/bundle
Antarrs-MacBook-Pro:myapp antarrbyrd$ Ruby -v
Ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin14.0]
Antarrs-MacBook-Pro:myapp antarrbyrd$ bundle -v
Bundler version 1.7.12
Antarrs-MacBook-Pro:myapp antarrbyrd$ 
34
Antarr Byrd

インストールがループに陥ります。

アプリではなく、Gemfileがないディレクトリに変更します。

その後、通常のgem install bundle(必要な場合はSudoを使用)

次に、アプリのディレクトリに移動して、通常のbundle install

これで問題は解決しましたか?

さらにヘルプが必要な場合は、これらのコマンドを実行して、質問に結果を貼り付けることができますか?

 $ command -v Ruby
 $ command -v bundle
 $ Ruby -v
 $ bundle -v

結果と期待するものとの不一致を探します。これは、何が起こっているかを追跡するのに役立ちます。 Gemfile Rubyバージョン。

(また、rbenvからchrubyへの変更を検討することもできます。これは、これらの種類のパスの問題で私見が優れているためです)

73

私が得た:

rbenv: bundle: command not found

The `bundle' command exists in these Ruby versions:
  2.3.0

Ruby 2.3.1へのアップグレード後

そしてそれは以下によって解決されます:

gem install Rails

作業フォルダーから

38
ChaosPredictor

gem install bundler

Ruby使用する各バージョンごとにバンドラーを再インストールする必要があります。

参照: github issue

18
Vbp

使用してみてください:

ビン/バンドル

の代わりに

バンドル

5
Salma Gomaa

従来のプロジェクトで私が役立ったのは次のとおりです。

  1. 適切なRuby rbenvを介してバージョンを設定

    $ cd YOUR_PROJECT_DIRECTORY
    $ rbenv install 2.1.0
    $ rbenv local 2.1.0
  1. バンドルのインストール時にまだエラーが発生する場合は、PATH警告を探してください:

    $ gem install bundle
    WARNING:  You don't have /Users/Lex/.gem/Ruby/2.1.0/bin in your PATH,
          gem executables will not run.
    Successfully installed bundle-0.0.1
    1 gem installed
  1. PATHを更新します。

    $ PATH=/Users/Lex/.gem/Ruby/2.1.0/bin:$PATH
  1. 再試行する:

    $ bundle install
    Fetching: bundler-1.11.2.gem (100%)
    HTTP GET https://bundler.rubygems.org/api/v1/dependencies
    HTTP 200 OK
    Fetching gem metadata from https://rubygems.org/
    . . .

Sudoを使用してgemをインストールすることは、通常は望んでいることではありません。

2
l3x

Ruby=グローバルに設定してみてください

rbenv global 2.3.1
2
Akshat Bajaj

今日も同様の問題があります。私の問題は次のように修正されました。

system dependencies
- rvenv
- Ruby 2.5.0
- Rails 5.1.6
BUNDLED WITH
  1.17.3
$ gem install bundler -v 1.17.3
Fetching bundler-1.17.3.gem
Successfully installed bundler-1.17.3
Parsing documentation for bundler-1.17.3
Done installing documentation for bundler after 3 seconds
1 gem installed

これが誰かを助けることを願っています。

1
mnishiguchi

ForemanでGuardを実行すると、同様の問題が発生しました。それを実行する元のコマンドは次のとおりです。

bundle exec foreman run guard -c

これは私にこれらのエラーを与えました:

11:07:52 - INFO - Run all
11:07:52 - INFO - Running all specs
/Users/MyUser/.rbenv/versions/2.2.0/lib/Ruby/2.2.0/rubygems/dependency.rb:315:in `to_specs': Could not find 'bundler' (>= 0) among 146 total gem(s) (Gem::LoadError)
Checked in 'GEM_PATH=/Users/MyUser/devel/o2/Vesta/vendor/bundle/Ruby/2.2.0', execute `gem env` for more information
        from /Users/MyUser/.rbenv/versions/2.2.0/lib/Ruby/2.2.0/rubygems/dependency.rb:324:in `to_spec'
        from /Users/MyUser/.rbenv/versions/2.2.0/lib/Ruby/2.2.0/rubygems/core_ext/kernel_gem.rb:64:in `gem'
        from /Users/MyUser/.rbenv/versions/2.2.0/bin/bundle:22:in `<main>'

簡単な修正は、フォアマンでbundle execを使用せず、ガードに対して使用することでした。例えば.

foreman run bundle exec guard -c

お役に立てれば。

0
emson