32

こんにちは、おそらく 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" 

ここに私の宝石環境があります:

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/

エコー $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 としましょう) の 1 つで、この章の前半の手順をいくつか繰り返しました。ターミナル 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 <wayneeseguin@gmail.com>, Michal Papis     <mpapis@gmail.com> [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 が何をするのか、私は非常に不明確です。さらに情報が必要な場合は、お気軽にお知らせください。提供します。

4

5 に答える 5

86

これが問題だと思います: 特定のgemsetに bundler がインストールされているため、アプリのディレクトリにいるときにのみ使用できます (そこに.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は実行可能ファイルを保持するディレクトリのリストを含むシェル環境変数です (例: 、、echoなど)。それはシェルに固有のものです。lsvim

于 2012-09-08T02:56:18.663 に答える
54

ログイン シェルを使用していないため (screen を使用していますか?)、rvm を正しく取得していないことが原因である場合があります。タイプ

    ソース ~/.rvm/scripts/rvm

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

于 2013-01-03T12:24:09.937 に答える
4

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

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

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

$ source ~/.bashrc
于 2013-05-06T13:40:51.870 に答える
1

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

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

rvm use 1.9.3 --default

gem install bundler

私の問題を解決しました

(rvm使用時のみ問題発生)

于 2013-11-26T10:51:27.203 に答える
0

rvm を使用している場合は、gem の自己完結型バンドルである個別の gemset を作成します。

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

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

于 2013-05-13T20:59:26.567 に答える