世界は広い!

主にアウトプットを行っております。お召し上がりの際は冷めないうちに。

chocolateyでnodeを入れるとnpmが管理者権限の時しか実行できない問題

=問題=

・npmコマンドが管理者権限でしか使えない!

背景として、chocolateyでnvmを入れてnode.jsやnpmをインストールした。

 

まさにこれ

JavaScript - 管理者としてコマンドを開いたときだけnpmが認識される|teratail

=結論=

・システム環境変数のpathを編集して、nvmのpathを直接通す。

f:id:kkrsky:20200723211700p:plain

 

=原因=

・chocolateyでnvmをインストールするとシステム環境変数の設定が以下のようになる

・%NVM_HOME%はシステム環境変数内に設定した変数NVM_HOMEを呼び出しているが、これがシステム環境変数内にあることから管理者権限でしかアクセスすることができない。

f:id:kkrsky:20200723211506p:plain

 

=方法=

①管理者モードでpowershellを起動して下記のコマンドを実行してシステム変数が編集できるようにする

Start C:\Windows\system32\rundll32.exe sysdm.cpl, EditEnvironmentVariables 

 参考:たった2手で管理者権限でシステム環境変数がいじれないを対処する - lisz-works

 

②ローカルでも通したいpathをシステム環境変数またはユーザー環境変数に直接書く

f:id:kkrsky:20200723211908p:plain

f:id:kkrsky:20200723211700p:plain