2015-10-14 7 views
8

CygwinでWindows版rubyのcygwinを使っています。成功したRSpecの(宝石RSpecのインストール)をインストールした後CygwinでRuby gemを実行しています

$ ruby -v 
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-cygwin] 

、私は始めるために基本的なinitコマンド(RSpecの--init)を実行してみたが、私はメッセージが見つかりませんbashコマンドを取得します。

$ rspec --init 
-bash: rspec: command not found 

ない「RSpecの」ファイルは私のCの下にはありませんので、私はこれが起こっている推測している:\ cygwin64 \ binディレクトリを(「ルビー」があるとして、「IRB」などは、cygwinのは見なければならないファイルコマンドが入力されたとき)。

私のcygwinディレクトリを見ると、 "C:¥cygwin64¥home¥username¥.gem¥ruby¥gems¥rspec-core-3.3.2¥exe"の下にrspec "exe"ファイルがあります。これはcygwinのパスにこのファイルを追加するだけの問題だと思いますが、私はこれの良い例を見つけることができませんでした。理想的には、毎回パスを「ハードコード」する必要なく、この宝石(rspec)と今後のすべてのインストールを解決するソリューションが理想的です。

私の "gem environment"を見ると、インストールされている宝石はすでに私の "GEM PATHS"の下にあるようです。これとCygwinが探している場所との間に切断があるようです。

$ gem environment 
RubyGems Environment: 
    - RUBYGEMS VERSION: 2.4.7 
    - RUBY VERSION: 2.2.2 (2015-04-13 patchlevel 95) [x86_64-cygwin] 
    - INSTALLATION DIRECTORY: /home/username/.gem/ruby 
    - RUBY EXECUTABLE: /usr/bin/ruby.exe 
    - EXECUTABLE DIRECTORY: /home/username/bin 
    - SPEC CACHE DIRECTORY: /home/username/.gem/specs 
    - SYSTEM CONFIGURATION DIRECTORY: /etc 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86_64-cygwin 
    - GEM PATHS: 
    - /home/username/.gem/ruby 
    - /usr/share/gems 
    - /usr/local/share/gems 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - https://rubygems.org/ 
    - SHELL PATH: 
    - /usr/local/bin 
    - /usr/bin 
    ... 

私は私の検索で見つかった最も近いものは、ここでは別のStackOverflowの質問だった:

What version of ruby use with cygwin?

が、私は解決策を理解して何から、.BATを持つファイルを探すために起こっています拡張。それをテストするためにCygwinで実行しても、有用な結果は得られません。

私はgem環境で見ているものとcygwinを結びつけるためのヒントを教えてください。

答えて

10

私の答えは少し遅いですが、同じ問題を抱えている人を助けるかもしれないと思います。

私の問題は、すべてのruby実行ファイルが~/binに保存されていて、自分のcygwinパスに設定されていないということでした。だから、私は~/.gemrc内のすべてのルビーの宝石とそれらの実行ファイルの場所を変更:

gemhome: /usr/local/rubygems 
gem: --bindir /usr/bin 

宝石を再インストールした後、すべてが前方に私からうまく働きました。これにより、すべてのgem実行ファイルが/usr/binに直接インストールされます。これは、マルチユーザー設定の場合、少し汚れていることを確認します。

適切なマルチユーザーセットアップが必要な場合は、より良い方法は~./bin isnteadを指すようにPATHを調整することです。

さらに読書:

6

あなたは自分の.bashrcまたは同様に以下を追加することができます。

PATH=$PATH:~/bin 
をし、それを追加する source ~/.bashrcを行いますパスimmediat ely。

関連する問題