Windows の npm で環境変数HOME切り替え

Windows で npm を使用すると、キャッシュ保存先などが
ユーザープロファイル以下を使用するが環境変数HOME を設定しても切り替えられない orz

絶対にシステム環境変数は変更しないでください

現時点での設定

Windows 環境での npm なのですが環境変数HOMEが優先されない状況になっています…

npm キャッシュ先

環境変数APPDATA を見に行ってます。

npm/node_modules/npmconfig/config-defs.js

var cacheRoot = process.platform === "win32" && process.env.APPDATA || home

npm ユーザーホーム

環境変数USERPROFILE を見に行ってます。

npm/node_modules/osenv/osenv.js

memo('home', function () {
  return ( isWindows ? process.env.USERPROFILE
         : process.env.HOME
         )
})

自分が使用しているバッチファイル

setlocal

set NODE_HOME=D:\node\x64\v0.10.36

set PATH=%NODE_HOME%;%NODE_HOME%\node_modules\.bin;%PATH%

set HOME=%~dp0HOME
set USERPROFILE=%~dp0HOME
set APPDATA=%~dp0HOME

cmd /k
This entry was posted in node.js, npm. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>