2016-05-20 18 views
1

現在、私はGradle 2.0を2.11にアップデートしようとしています。私のgradleディストリビューション(2.11)のgetting-started.htmlファイルには、新しいGradleバージョンのインストール方法が記載されています。 .zipを解凍して解凍しました。私はそれに応じて環境変数GRADLE_HOMEを設定し、それはPATHに含まれています。Gradle -vコマンドが古いバージョンを指しています

しかしgradle -vが印刷されます:

Name       Value 
----       ----- 
GRADLE_HOME     C:\dev\programs\gradle-2.11

再起動PowerShellのかさえもコンピュータが助けにはならなかった。

------------------------------------------------------------ 
Gradle 2.0 
------------------------------------------------------------ 

Build time: 2014-07-01 07:45:34 UTC 
Build number: none 
Revision:  b6ead6fa452dfdadec484059191eb641d817226c

を私は印刷を行いいる、Get-Childitem env:GRADLE_HOMEを使用して、私の環境変数をチェックします。私はまた、GRADLE_USER(.gradleフォルダに)を指す変数を設定しました。そこには既知の問題がありますか?あるいは、私はインストールプロセスで何かを逃しただけでしたか?

答えて

1

PowerShellは、環境変数PATH(PowerShellの$env:Path)に記載されているいずれかのフォルダにある場合にのみ、パスなしで実行可能ファイルを実行します。ほとんどの場合、そこにリストされている古いインストールへのパスがあります(...;C:\dev\programs\gradle-2.0\bin;...など)。定義されている場所に応じて、システムまたはユーザー環境で変更する必要があります。

GRADLE_HOME環境変数を使用すると、すべてのGradleアップデートでPATH環境変数を更新する必要がなくなります。ただし、これを機能させるには、それぞれのレジストリ値をREG_EXPAND_SZの値(デフォルトはREG_SZ)にする必要があります。システム環境は、このレジストリキーに格納されて:あなたはこのようなものでREG_EXPAND_SZPATH値の種類を変更することができます

HKEY_CURRENT_USER\Environment

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

ユーザー環境がこのキーに格納されて

:このような
$key = 'HKEY_CURRENT_USER\Environment' 
$path = [Microsoft.Win32.Registry]::GetValue($key, 'PATH', $null) 
$path += ';%GRADLE_HOME%\bin' 
[Microsoft.Win32.Registry]::SetValue($key, 'PATH', $path, 'ExpandString') 

または(もう少し凝っ)

$key = 'HKEY_CURRENT_USER\Environment' 
$path = [Microsoft.Win32.Registry]::GetValue($key, 'PATH', $null) -split ';' | 
     Where-Object { $_ -notlike '*gradle*' } 
$path = (@($path) + '%GRADLE_HOME%\bin') -join ';' 
[Microsoft.Win32.Registry]::SetValue($key, 'PATH', $path, 'ExpandString') 

後者は、GRADLE_HOMEベースのパスを追加する前に、既存のGradleパスを環境変数から削除します。

$keyをシステム環境キーに変更すると、ユーザー環境ではなくシステムが変更されます(管理者権限が必要)。 PATH%GRADLE_HOME%\binを入れて

(およびオペレーティングシステムは、レジストリ値REG_EXPAND_SZを行うことで、変数を展開する必要があり)PowerShellは、常にあなたの$env:GRADLE_HOMEbinディレクトリからgradle.exeを使用します。

関連する問題