2012-02-29 8 views
1

rvmを使用してcygwinにjrubyをインストールできますが、jrubyの宝石はインストールされず、gemのインストールに失敗します。rvmを使用してjrubyをインストール中にエラーが発生しました

これは私がJRubyののインストール中に取得エラー、RVMは、デフォルトのgemsetをインストールしようとすると次のとおりです。

Building Nailgun 
jruby-1.6.7 - #installing to /home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7 
jruby-1.6.7 - #importing default gemsets (/home/salil.wadnerkar/.rvm/gemsets/) 
Copying across included gems 
cygpath: can't convert empty path 
Error opening script file: C:/cygwin/home/salil.wadnerkar/.rvm/src/jruby-1.6.7/tool/nailgun/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7/bin/gem (The system cannot find the path specified) 

任意の宝石をインストールするために、任意の更なる試みは、同様のエラーに遭遇:

$ which gem 
/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7/bin/gem 

$ gem install rake 
cygpath: can't convert empty path 
Fetching: rake-0.9.2.2.gem (100%) 
ERROR: While executing gem ... (Errno::ENOENT) 
    No such file or directory - C:/home/salil.wadnerkar/.rvm/gems/jruby-1.6.7/cache/rake-0.9.2.2.gem 

アップデート:

ここに私のgem env

$ gem env 
cygpath: can't convert empty path 
RubyGems Environment: 
    - RUBYGEMS VERSION: 1.8.15 
    - RUBY VERSION: 1.9.2 (2012-02-22 patchlevel 312) [java] 
    - INSTALLATION DIRECTORY: /home/salil.wadnerkar/.rvm/gems/jruby-1.6.7 
    - RUBY EXECUTABLE: C:/cygwin/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7/bin/ 
jruby.exe 
    - EXECUTABLE DIRECTORY: /home/salil.wadnerkar/.rvm/gems/jruby-1.6.7/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - universal-java-1.7 
    - GEM PATHS: 
    - /home/salil.wadnerkar/.rvm/gems/jruby-1.6.7 
    - /home/salil.wadnerkar/.rvm/gems/jruby-1.6.7:/home/salil.wadnerkar/.rvm/ge 
ms/[email protected] 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - "install" => "--no-rdoc --no-ri --env-shebang" 
    - "update" => "--no-rdoc --no-ri --env-shebang" 
    - REMOTE SOURCES: 
    - http://rubygems.org/ 

編集:ここでは

は私RVM情報

$ rvm info 

jruby-1.6.7: 

    system: 
    uname:  "CYGWIN_NT-6.1 got002518 1.7.11(0.260/5/3) 2012-02-24 14:05 i686 Cygwin" 
    bash:  "/usr/bin/bash => GNU bash, version 4.1.10(4)-release (i686-pc-cygwin)" 
    zsh:   " => not installed" 

    rvm: 
    version:  "rvm 1.10.3 by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.beginrescueend.com/]" 
    updated:  "18 hours 30 minutes 15 seconds ago" 
cygpath: can't convert empty path 

    ruby: 
    interpreter: "jruby" 
    version:  "1.6.7" 
    date:   "2012-02-22" 
    platform:  "Windows 7-x86-java" 
    patchlevel: "TM" 
    full_version: "jruby 1.6.7 (ruby-1.9.2-p312) (2012-02-22 3e82bc8) (Java HotS"ot(TM) Client VM 1.7.0_03) [Windows 7-x86-java] 

    homes: 
    gem:   "/home/salil.wadnerkar/.rvm/gems/jruby-1.6.7" 
    ruby:   "/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7" 

    binaries: 
    ruby:   "/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7/bin/ruby" 
    irb:   "/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7/bin/irb" 
    gem:   "/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7/bin/gem" 
    rake:   "/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7/bin/rake" 

    environment: 
    PATH:   "/home/salil.wadnerkar/.rvm/gems/jruby-1.6.7/bin:/home/salil.wadnerkar/.rvm/gems/[email protected]/bin:/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7/bin:/home/salil.wadnerkar/.rvm/bin:/usr/local/bin:/usr/bin:/cygdrive/c/Users/salilw_adm/AppData/Roaming/cabal/bin:/cygdrive/c/Program Files/Common Files/Microsoft Shared/Windows Live:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files/Hummingbird/Connectivity/14.00/Accessories:/cygdrive/c/Program Files/Hummingbird/Connectivity/14.00/NFS Maestro:/cygdrive/c/Program Files/WindowsLive/Shared:/cygdrive/c/Program Files/Java/jdk1.7.0_03/bin:/cygdrive/c/Python27:/cygdrive/c/Python27/Scripts:/cygdrive/c/Program Files/QuickTi 
me/QTSystem:/cygdrive/c/Program Files/Subversion/bin:/cygdrive/c/apache-ant-1.8.2/bin:/cygdrive/c/Ruby192/bin:/cygdrive/c/Users/salil.wadnerkar/AppData/Roaming/cabal/bin" 
    GEM_HOME:  "/home/salil.wadnerkar/.rvm/gems/jruby-1.6.7" 
    GEM_PATH:  "/home/salil.wadnerkar/.rvm/gems/jruby-1.6.7:/home/salil.wadnerkar/.rvm/gems/[email protected]" 
    MY_RUBY_HOME: "/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7" 
    IRBRC:  "/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7/.irbrc" 
    RUBYOPT:  "" 
    gemset:  "" 

である私はそれはcygwinのはGEMPATHを使用している方法で何かを持っていると思います。

$ gem install bundler 
cygpath: can't convert empty path 
Fetching: bundler-1.0.22.gem (100%) 
ERROR: While executing gem ... (Errno::ENOENT) 
    No such file or directory - C:/home/salil.wadnerkar/.rvm/gems/jruby-1.6.7/ca 
che/bundler-1.0.22.gem 

$ echo $GEM_PATH 
/home/salil.wadnerkar/.rvm/gems/jruby-1.6.7:/home/salil.wadnerkar/.rvm/gems/jrub 
[email protected] 

gemは、Windowsスタイルのパスを使用しようとしています。実際には、Windowsのスタイルパスを使用しており、gemインストールのためにgem cacheディレクトリを見つけることができなかったので、gem cacheディレクトリを手動で作成する必要があります。

編集: rvmがPATHの前に正しくパスを追加しているようです。

$ echo $PATH 
/home/salil.wadnerkar/.rvm/gems/jruby-1.6.7/bin:/home/salil.wadnerkar/.rvm/gems/jruby- [email protected]/bin:/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7/bin:/home/salil.wadnerkar/.rvm/bin:/usr/local/bin:/usr/bin:..... 

編集:ここでは

は、debugコマンドの出力です。私はパスの解釈を修正するかどうかを確認するために、どこかに 'サイガパス'を置くつもりです。

$ gem install rake --debug 
cygpath: can't convert empty path 
ERROR: While executing gem ... (Errno::ENOENT) 
No such file or directory - C:/home/salil.wadnerkar/.rvm/gems/jruby-1.6.7/cache/rake-0.9.2.2.gem 
    org/jruby/RubyFile.java:465:in `initialize' 
    org/jruby/RubyIO.java:1135:in `open' 
    C:/cygwin/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7/lib/ruby/site_ruby/1.8/rubygems/remote_fetcher.rb:152:in `download' 
    C:/cygwin/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7/lib/ruby/site_ruby/1.8/rubygems/dependency_installer.rb:278:in `install' 
    org/jruby/RubyArray.java:1615:in `each' 
    org/jruby/RubyEnumerable.java:956:in `each_with_index' 
    C:/cygwin/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7/lib/ruby/site_ruby/1.8/rubygems/dependency_installer.rb:270:in `install' 
    C:/cygwin/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7/lib/ruby/site_ruby/1.8/rubygems/commands/install_command.rb:121:in `execute' 
    org/jruby/RubyArray.java:1615:in `each' 
    C:/cygwin/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7/lib/ruby/site_ruby/1.8/rubygems/commands/install_command.rb:115:in `execute' 
    C:/cygwin/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7/lib/ruby/site_ruby/1.8/rubygems/command.rb:278:in `invoke' 
    C:/cygwin/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:147:in `process_args' 
    C:/cygwin/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:117:in `run' 
    C:/cygwin/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7/lib/ruby/site_ruby/1.8/rubygems/gem_runner.rb:65:in `run' 
    C:\cygwin\home\salil.wadnerkar\.rvm\rubies\jruby-1.6.7\bin\jgem:25:in `(root)' 
Exception `Gem::SystemExitException' at C:/cygwin/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7/lib/ruby/site_ruby/1.8/rubygems/user_interaction.rb:332 - Exiting RubyGems with exit_code 1 
+0

'gem env'とおそらく' rvm info'を追加してください。 – mpapis

+0

@mpapis、 "gem env"と "rvm info"の出力を追加しました。 – Salil

+0

GEMPATHと何か関係があります:$ gem install rake cygpath:空のパスを変換できません フェッチ:rake-0.9.2.2.gem(100%) エラー:gemを実行中...(Errno :: ENOENT) このようなファイルやディレクトリはありません - C:/home/salil.wadnerkar/.rvm/gems/jruby-1.6.7/cache/rake-0.9.2.2.gem – Salil

答えて

1
Error opening script file: C:/cygwin/home/salil.wadnerkar/.rvm/src/jruby-1.6.7/tool/nailgun/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7/bin/gem (The system cannot find the path specified) 

パス形式は、あなたの問題です。 Cygwinはそのようなパスを認識しません。

/home/salil.wadnerkar/.rvm/src/jruby-1.6.7/tool/nailgun/home/salil.wadnerkar/.rvm/rubies/jruby-1.6.7/bin/gem 

あなたの問題は、これに沸く - Cygwinのために非常に重要であるツールで、あなたのPATHシステム変数に同じ名前を持つ別のツールで上書きされ、そのツールは次のとおりです。これと同じパスがされている必要がありますディレクトリの前に、のCygwinバイナリパスがあります。

(私はネイティブの宝石をコンパイルしようとしたとき私は同様の問題を抱えていたが、私は私のPATHにGCCのWindowsのバージョンを持っていたし、それはCygwinのバイナリパス前にありました)。

非常に迅速な解決策は、あなたのシステム PATH環境変数を編集し、Cygwinのバイナリパスが最初のエントリであることを確認し、このような何かすることです

PATH = C:\cygwin\bin;C:\your\other\paths;C:\windows\system32;... 

など

もちろん、すべてのCygwinコンソールを終了し、実行中のCygwinプログラムを停止してから、コンソール/その他のプログラムを再起動してください。すべてがうまくいくはずです。

私はこれがあなたを助けてくれることを願っています。

+0

あなたの答えに感謝します。しかし、rvmは正しくPATH変数の前にパスを追加するようです。 Pl。アップデートを参照してください。 – Salil

0

私は同様の問題に直面しました。私はCygwinを再インストールすることを含め、すべてを試しました。最後に、ソースからjrubyをビルドして問題を解決しました。

0

私の以前の投稿に加えて、jrubyソースバンドルのREADMEに記載されているように、ソースからjrubyをAntビルドを使ってビルドすることで問題を克服しました。お役に立てれば。

+0

ありがとうございました。私もそれを試みたが、私はそれを正しくしなかったように見える。私はもう一度やり直します。 – Salil

関連する問題