これは、HarvestSCMがシステムにインストールされている場合に発生します。に名前の実行可能ファイルnode.exe
があります(x86プログラムファイルフォルダはどこですか)<Program Files (x86)>\CA\SharedComponents\PEC\bin
。<Program Files (x86)>
このパスは、Node.jsへのパスの前PATH
の変数に存在します。node.exe
更新:古い回答に記載されている手の込んだスキームは必要ありません。コマンドプロンプトを開いて実行するだけです。
C:\> nodevars
nodevars.bat
は、以下で説明するのと本質的に同じことを行う小さなスクリプトです(ただし、より安全な方法で)。ノードがインストールされている場合、このスクリプトはパスに含まれている必要があります。(C:\Program Files\nodejs
パスに必ず追加しない場合。ただし、Harvest SCMが壊れないように、最後に必ず追加してください)。
以下のすべては時代遅れですが、好奇心旺盛な読者のために残しておきます。
この問題を克服するために実行できる次の2つのいずれかを実行できます。
- 環境変数
<Program Files (x86)>\CA\SharedComponents\PEC\bin
から削除します。PATH
- 環境変数
<Program Files (x86)>\nodejs
の先頭に追加/移動します(これは、現在djrpascuから受け入れられている回答です)。PATH
あなたはもっとうまくやれる!
上記のアプローチには2つの問題があります。
- HarvestSCMの機能を壊します。
- 変更するための昇格された特権がない場合
PATH
は、オプションがありません。(@Glatsに感謝します)
そこで、この小さなバッチファイルを作成し、他のいくつかの個人用スクリプトがあるディレクトリに配置しました(このディレクトリは私の中にありますPATH
)。スクリプトの要点は次のとおりです。
nodecmd.bat
@echo off
set path=%path:C:\Program Files (x86)\CA\SharedComponents\PEC\bin;=%;C:\Program Files (x86)\nodejs;
start %ComSpec%
次に、コマンドプロンプトの代わりにNode.jsを実行するときに、「Run...」コマンドを使用して新しいスクリプトを開きます。
Windows+R
nodecmd
コマンドプロンプトが表示されます。このコマンドプロンプトを使用するnode
と、手間をかけずに実行できます。
説明
このビットは、Harvestの実行可能ファイルのパスをPATH
変数から削除します。
%path:C:\Program Files (x86)\CA\SharedComponents\PEC\bin;=%;
そして、これによりNode.jsのパスが追加されます。
set path=...;C:\Program Files (x86)\nodejs;
結果は、元のPATH変数からHarvestのパスを差し引いたものと、 Nodeのパスを含む文字列になります。また、現在のバッチファイルのスコープではPATH変数として設定されています。
注:システムのソフトウェアインストールフォルダーに合わせて、スクリプト内のパスを変更する必要がある場合があります)。
次の行でstart %ComSpec%
、コマンドプロンプトを開始します。この時点で、PATH変数が変更されます。変更された環境変数を使用すると、この新しいコマンドプロンプト内でノードを実行できます。環境変数の変更はシステムの他の部分に影響を与えないため、 HarvestSCMソフトウェアが中断することなく実行されます。