3
* Download JRuby 1.20. (zip file)
* Extract the zip into C:\JRuby120
* Edit sytem "environment variables":
* Add JRUBY_HOME -> point it to C:\JRuby120
* Modify the PATH environment variable to point to C:\JRuby120\bin; 

このすべての後、cmd.exeを開いてjrubyと入力します

→「指定されたパスが見つかりません」

私は何を間違えましたか?

C:\JRuby120\bin\jruby.bat、C:\JRuby120\bin_jrubyvars.bat、C:\JRuby120\bin_jrubyvmopts.bat から echo_off を削除し、cmd.exe から jruby を呼び出しました。これは出力でした:

C:\>rem --------------------------------------------------------------------------- 

C:\>rem jruby.bat - Start Script for the JRuby Interpreter 

C:\>rem

C:\>rem for info on environment variables, see internal batch script _jrubyvars.bat 

C:\>setlocal

C:\>rem Sometimes, when jruby.bat is being invoked from another BAT file, 

C:\>rem C:\JRuby120\bin\ is incorrect and points to the current dir, not to JRuby's bin dir, 

C:\>rem so we look on the PATH in such cases. 

C:\>IF EXIST "C:\JRuby120\bin\_jrubyvars.bat" (set FULL_PATH=C:\JRuby120\bin\ )  ELSE (set FULL_PATH=C:\JRuby120\bin\ ) 

C:\>call "C:\JRuby120\bin\_jrubyvars.bat"  

C:\>rem Environment Variable Prequisites: 

C:\>rem

C:\>rem   JRUBY_OPTS    (Optional) Default JRuby command line args. 

C:\>rem

C:\>rem   JAVA_HOME     Must point at your Java Development Kit installation. 

C:\>rem

C:\>rem ----- Save Environment Variables That May Change -------------------------- 

C:\>set _CLASSPATH=.; 

C:\>set _CP= 

C:\>set _JRUBY_CP= 

C:\>set JRUBY_BAT_ERROR=0 

C:\>rem ----- Verify and Set Required Environment Variables ----------------------- 

C:\>if not "C:\Program Files\Java\jdk1.6.0_11\bin" == "" goto gotJava 

C:\>set JRUBY_HOME=C:\JRuby120\bin\.. 

C:\>rem ----- Prepare Appropriate Java Execution Commands ------------------------- 

C:\>if not "" == "" goto gotCommand 

C:\>set _JAVA_COMMAND= 

C:\>set JAVA_COMMAND=java 

C:\>if not "Windows_NT" == "Windows_NT" goto noTitle 

C:\>rem set _STARTJAVA=start "JRuby" "C:\Program Files\Java\jdk1.6.0_11\bin\bin\java" 

C:\>set _STARTJAVA=C:\Program Files\Java\jdk1.6.0_11\bin\bin\java 

C:\>goto gotTitle 

C:\>rem ----- Set up the VM options 

C:\>call "C:\JRuby120\bin\_jrubyvmopts"  

C:\>set _MEM=-Xmx500m 

C:\>if not defined JAVA_MEM goto memOptDone 

C:\>set _STK=-Xss1024k 

C:\>if not defined JAVA_STACK goto stackOptDone 

C:\>set _VM_OPTS= 

C:\>set _RUBY_OPTS= 

C:\>set _DFLT_VM_OPTS= 

C:\>set _JAVA_VM=-client 

C:\>set SAFE_JAVA_HOME=C:\Program Files\Java\jdk1.6.0_11\bin 

C:\>set SAFE_JAVA_HOME=C:\Program Files\Java\jdk1.6.0_11\bin 

C:\>rem

C:\>rem Can you believe I'm rewriting batch arg processing in batch files because batch 

C:\>rem file arg processing sucks so bad? Can you believe this is even possible? 

C:\>rem http://support.microsoft.com/kb/71247 

C:\>rem Escape any quotes. Use _S for ', _D for ", and _U to escape _ itself. 

C:\>rem We have to escape _ itself, otherwise file names with _S and _D 

C:\>rem will be converted to to wrong ones, when we un-escape. See JRUBY-2821. 

C:\>set _ARGS= 

C:\>if not defined _ARGS goto vmoptsDone 

C:\>set _VM_OPTS= -client -Xmx500m -Xss1024k  

C:\>set _DFLT_VM_OPTS= 

C:\>set _MEM= 

C:\>set _STK= 

C:\>set _ARGS= 

C:\>set _VAL= 

C:\>set _CMP= 

C:\>set _CMP1= 

C:\>set _JAVA_VM= 

C:\>set _RUNJAVA="C:\Program Files\Java\jdk1.6.0_11\bin\bin\java" 

C:\>rem ----- Set Up The Boot Classpath ---------------------------------------- 

C:\>for %i in ("C:\JRuby120\bin\..\lib\jruby*.jar") do @call :setjrubycp %i 

C:\>if not "" == "" goto addjrubycp 

C:\>set JRUBY_CP=C:\JRuby120\bin\..\lib\jruby.jar 

C:\>goto :EOF 

C:\>for %i in ("C:\JRuby120\bin\..\lib\bsf*.jar") do @call :setjrubycp %i 

C:\>if not "C:\JRuby120\bin\..\lib\jruby.jar" == "" goto addjrubycp 

C:\>set JRUBY_CP=C:\JRuby120\bin\..\lib\jruby.jar;C:\JRuby120\bin\..\lib\bsf.jar 

C:\>goto :EOF 

C:\>rem ----- Set Up The System Classpath ---------------------------------------- 

C:\>for %i in ("C:\JRuby120\bin\..\lib\*.jar") do @call :setcp %i 

C:\>if not "" == "" goto add 

C:\>set CP=C:\JRuby120\bin\..\lib\bsf.jar 

C:\>goto :EOF 

C:\>if not "C:\JRuby120\bin\..\lib\bsf.jar" == "" goto add 

C:\>set CP=C:\JRuby120\bin\..\lib\bsf.jar;C:\JRuby120\bin\..\lib\jruby.jar 

C:\>goto :EOF 

C:\>if not "C:\JRuby120\bin\..\lib\bsf.jar;C:\JRuby120\bin\..\lib\jruby.jar" == "" goto add 

C:\>set CP=C:\JRuby120\bin\..\lib\bsf.jar;C:\JRuby120\bin\..\lib\jruby.jar;C:\JRuby120\bin\..\lib\profile.jar 

C:\>goto :EOF 

C:\>goto :EOF 

C:\>if 0 == 0 "C:\Program Files\Java\jdk1.6.0_11\bin\bin\java"  -client -Xmx500m -Xss1024k  -Xbootclasspath/a:"C:\JRuby120\bin\..\lib\jruby.jar;C:\JRuby120\bin\..\lib\bsf.jar" -classpath "C:\JRuby120\bin\..\lib\bsf.jar;C:\JRuby120\bin\..\lib\jruby.jar;C:\JRuby120\bin\..\lib\profile.jar;.;" -Djruby.home="C:\JRuby120\bin\.." -Djruby.lib="C:\JRuby120\bin\..\lib" -Djruby.shell="cmd.exe" -Djruby.script=jruby.bat org.jruby.Main   

C:\>set E=3 

C:\>call "C:\JRuby120\bin\_jrubycleanup" 
4

4 に答える 4

11

まあ、それはあなたがすべきことです。コマンドラインに移動して入力echo %PATH%し、jruby bin ディレクトリがそこにあることを確認します。


編集:

上記は無視してください。これは、jruby がパスにない場合に発生するエラーではありません。「指定されたパスが見つかりません」というエラーは、パスが存在しないことが原因で発生します。ほとんどの場合、Java JDK へのパスです。実行しますecho %JAVA_HOME%。パスが正しいことを確認してください。Java JDK をお持ちでない場合は、こちらからダウンロードできます。


編集2:

jruby.bat の出力を見ると、問題は を見つけること_jrubyvars.bat、またはその中で呼び出されたものを見つけることにあるようです。それが呼び出すのは だけで_jrubyvmopts.bat、他には何も呼び出しません。C:\JRuby120\bin\_jrubyvars.batそれが存在することを確認してくださいC:\JRuby120\bin\_jrubyvmopts.bat。ただし、そうすべきではない理由はわかりません。両方が存在する場合、次のステップは@echo off、それぞれから行を削除し、不正な呼び出しが行われている場所を正確に見つけることができるかどうかを確認することです.


編集3:

すべての出力を確認したところ、親ディレクトリは " " JAVA_HOMEに設定されているようです: ". 今度は試してみてください。C:\Program Files\Java\jdk1.6.0_11\bin\JAVA_HOMEC:\Program Files\Java\jdk1.6.0_11\

于 2009-04-24T15:44:05.737 に答える
1

JAVA_HOME の値を C:\Program Files\Java\jdk1.6.0_11\bin から C:\Program Files\Java\jdk1.6.0_11\ に変更するとうまくいきました。私の環境: Windows XP で、c:\jruby\bin を PATH var に追加し、c:\jruby を指す JRUBY_HOME を作成しました。

ありがとうございました

于 2009-05-29T09:37:04.010 に答える
0

JAVA_HOME 環境変数がありませんでした。Windows 7でうまくいった修正

于 2009-07-03T09:36:38.867 に答える
0

私は同じ問題を抱えていて、ここに記載されているすべてを試してみましたが成功しませんでした。

私の解決策: PC を再起動します。私のために働いた!

于 2016-12-16T08:04:42.370 に答える