19

私が走るとき

gem install <somegem>

コマンドを実行すると、gemユーティリティはホーム ディレクトリにアクセスしようとします。ラテン文字以外の文字が含まれているため、インストールが失敗します。例えば:

E:\ruby\bin>gem install <somegem>
ERROR:  While executing gem ... (Errno::ENOENT)
    No such file or directory - C:\Documents and Settings\<user>

ASCII 文字を含むユーザー名を持つ別のユーザー アカウントに切り替えると、正常に動作しますgem

ホームディレクトリをチェックしないようにgemに指示する方法を知っている人はいますか?

更新: 以下に示すように GEM_HOME を設定しようとしましたが、役に立ちませんでした (まだユーザーのホームディレクトリをチェックしています)

4

6 に答える 6

34

gemを実行する前に HOMEDRIVE と HOMEPATH を変更し、必要に応じて後で復元します。

gem.batを次のように変更しました。

@ECHO OFF
SET _HOMEDRIVE=%HOMEDRIVE%
SET _HOMEPATH=%HOMEPATH%
SET HOMEDRIVE=E:
SET HOMEPATH=/Dev/Ruby
IF NOT "%~f0" == "~f0" GOTO :WinNT
@"ruby.exe" "E:/Dev/Ruby/bin/gem" %1 %2 %3 %4 %5 %6 %7 %8 %9
GOTO :EOF
:WinNT
@"ruby.exe" "%~dpn0" %*
SET HOMEDRIVE=%_HOMEDRIVE%
SET HOMEPATH=%_HOMEPATH%

E:/Dev/Ruby/は私の Ruby パスです。HOMEPATH は、パスに ASCII のみの文字を使用して他のものに変更できるようです。

于 2009-07-04T22:49:15.100 に答える
1

書くのは簡単です:

@ECHO OFF
SET HOMEPATH=
IF NOT "%~f0" == "~f0" GOTO :WinNT
ECHO.This version of Ruby has not been built with support for Windows 95/98/Me.
GOTO :EOF
:WinNT
@"ruby.exe" "%~dpn0" %*

この場合、パスを記述する必要はなく、新しいインストール用にファイルを置き換えたり再配布したりできます

于 2011-05-12T17:23:17.490 に答える
0

インストール後のファイルpi.batまたはpi.shを実行するだけです。このファイルは./RubyDevKit/postinstallにあります。

これは私のために働いた。cygwinのインストーラーが私の設定を壊したようです。

于 2012-01-22T16:53:56.847 に答える
0

何かがジャッキアップした可能性があるため、コマンド プロンプト コンソールを再起動します。同じ問題が発生し、コンソールを再起動すると環境がリセットされました。

于 2013-12-05T19:02:55.057 に答える
0

GEM_HOME 環境ディレクトリの値を変更してみてはいかがでしょうか。

于 2009-05-11T19:48:53.997 に答える
0

GEM_PATH がユーザー ディレクトリに設定されている場合でも、アクセスできます。GEM_HOME と GEM_PATH を変更してみてください。

于 2009-05-12T11:28:44.523 に答える