web-dev-qa-db-ja.com

エラー:Gem bundlerがインストールされていません。最初に `gem install bundler`を実行してください

こんにちは、おそらくRuby gemバンドルをインストールしようとしています。このメッセージを受け取ったらgem install bundleの指示に従いますが、bundle -vと入力しても動作しません。タイプ

which bundleおよび受信

/Users/edmundmai/.rvm/bin/bundle

存在する!!それで、なぜそれは機能しません!!取得できない神秘的な$ PATHに何か問題がありますか? (私は初心者です)。

これが私の.bash_profileです:

PATH=$PATH:~/bin
export PATH
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a Shell session *as a function*
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

これが私の.bashrcです:

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" 

これが私のgem envです:

RubyGems Environment:
- RUBYGEMS VERSION: 1.8.24
- Ruby VERSION: 1.9.3 (2012-04-20 patchlevel 194) [x86_64-darwin11.3.1]
- INSTALLATION DIRECTORY: /Users/edmundmai/.rvm/gems/Ruby-1.9.3-p194@Rails3tutorial2ndEd
- Ruby EXECUTABLE: /Users/edmundmai/.rvm/rubies/Ruby-1.9.3-p194/bin/Ruby
- EXECUTABLE DIRECTORY: /Users/edmundmai/.rvm/gems/Ruby-1.9.3-p194@Rails3tutorial2ndEd/bin
- RUBYGEMS PLATFORMS:
  - Ruby
  - x86_64-darwin-11
- GEM PATHS:
   - /Users/edmundmai/.rvm/gems/Ruby-1.9.3-p194@Rails3tutorial2ndEd
   - /Users/edmundmai/.rvm/gems/Ruby-1.9.3-p194@global
- GEM CONFIGURATION:
   - :update_sources => true
   - :verbose => true
   - :benchmark => false
   - :backtrace => false
   - :bulk_threshold => 1000
   - "install" => "--no-rdoc --no-ri"
   - "update" => "--no-rdoc --no-ri"
- REMOTE SOURCES:
   - http://rubygems.org/

echo $ PATH

/Users/edmundmai/.rvm/bin:/Users/edmundmai/.rvm/gems/Ruby-1.9.3-p194@Rails3tutorial2ndEd/bin:/Users/edmundmai/.rvm/gems/Ruby-1.9.3-p194@global/bin:/Users/edmundmai/.rvm/rubies/Ruby-1.9.3-p194/bin:/Users/edmundmai/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Users/edmundmai/bin:/Users/edmundmai/bin

更新RoRチュートリアルをもう一度試した後、2つのターミナルウィンドウのいずれかで、この章の前半からいくつかの手順を繰り返しました(ターミナル#1とターミナル#2と呼びましょう)。ターミナル#2はまだ動作しません(コマンドラインはどのディレクトリにも存在せず、デフォルトのディレクトリにのみあります)が、ターミナル#1(私のsample_appディレクトリにある)は動作します。 rvm get head && rvm reloadがキーになると思いますか?しかし、それは、端末を開くたびに実行する必要があるということですか?前と後の端末#1コマンドを確認します(入力行がより明確になるように、出力の一部を削除しました)。

Edmunds-MacBook-Pro:sample_app edmundmai$ bundle -v
ERROR: Gem bundler is not installed, run `gem install bundler` first.
Edmunds-MacBook-Pro:sample_app edmundmai$ gem install
ERROR:  While executing gem ... (Gem::CommandLineError)
Please specify at least one gem name (e.g. gem build GEMNAME)
Edmunds-MacBook-Pro:sample_app edmundmai$ rvm -v


rvm 1.15.8 (master) by Wayne E. Seguin <[email protected]>, Michal Papis     <[email protected]> [https://rvm.io/]

Edmunds-MacBook-Pro:sample_app edmundmai$ rspec spec/
No DRb server is running. Running in local process instead ...
........

Finished in 0.36709 seconds
8 examples, 0 failures

Randomized with seed 59500

Edmunds-MacBook-Pro:sample_app edmundmai$ subl .
Edmunds-MacBook-Pro:sample_app edmundmai$ bundle install --binstubs=./bundler_stubs
Using rake (0.9.2.2) 
...
...
(**list of stuff)
Using uglifier (1.2.3) 
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
Edmunds-MacBook-Pro:sample_app edmundmai$ bundle show bundler
/Users/edmundmai/.rvm/gems/Ruby-1.9.3-p194@Rails3tutorial2ndEd/gems/bundler-1.2.0

$ PATHが何をするのか、私は非常に不明確です。もっと情報が必要な場合は、お気軽に教えてください。

32
bigpotato

これは問題だと思います:特定の gemset にバンドラーがインストールされているため、アプリのディレクトリにいる場合にのみ利用可能です(.rvmrcファイルがあります)。

いくつかのオプションがあります:

  1. bundlerをグローバルgemsetにインストールします。 rvm gemset use global && gem install bundler
  2. Homebrewがインストールされている場合は、brew install Rubyそしてrvmを完全に避けます。 (rvmの代替としてrbenvとryもありますが、すべてのアプリで1.9.3を使用しているだけなので、Homebrewは問題ありません。)

参考のために、 $PATHは、実行可能ファイルを保持するディレクトリのリストを含むシェル環境変数です(例:echolsvimなど)。これはシェルに固有のものです。

85
jmdeldin

ログインシェル(画面を使用している?)にいないため、rvmを正しく調達していないことがあります。タイプ

 source〜/ .rvm/scripts/rvm 

そして、任意のバンドルコマンドを使用します。

53
hammady

~/.bashrcファイルに次の行を追加します

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

次に、ファイルをリロードします。

$ source ~/.bashrc
4
jlucasps

私も同じ問題を抱えていた、

サーバーでは、rvmはデフォルトとして選択されていません。

rvm use 1.9.3 --default

gem install bundler

私の問題を解決しました

(問題はrvmを使用する場合にのみ発生します)

1
devudilip

Rvmを使用している場合は、独立したgemsetを作成します。これは、自己完結型のgemのバンドルです。

rvm use 1.9.3@myApplicationNameHere --create --default
  • myApplicationNameHere =これをアプリケーション名に変更します
  • create = gemsetを作成します
  • デフォルト=は、このバージョンのRubyおよびgemsetをデフォルトとして使用することを意味します

Rvmサイトと関連セクションへのリンクは次のとおりです https://rvm.io/gemsets/basics/

0
Eric Brooke