0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

node.js,npmインストールのトラブルシュート(windows)

Posted at

きっかけ

Typescriptを使うにあたり、Node.js,npm,Typescriptのインストールをしたのですが、npm,Typescriptのインストール成功を確認できないトラブルが諸々あったのでまとめます。
Copilotと相談しながらいろいろ試した結果、解決したので、経緯を含めて記録します。

トラブルの内容

VScodeのターミナル(PowerShell)で以下を実行して、Node.jsのインストールを試みました。

winget install OpenJS.NodeJS.LTS

この後バージョン確認ができるか確認しましたが、以下のエラーが出ました。

node -v
node -v node : 用語 'node' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記述されていることを確認し、 パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。 発生場所 行:1 文字:1

対処

再インストール(Repair)

node.js公式からRepairを選択して再インストールしましたが、特に改善しませんでした。

環境変数への追加

node.jsのパスをユーザー環境変数に追加したことで、node.jsのバージョン確認は成功するようになりました。

C:\Program Files\nodejs\

しかし、npmのバージョン確認はうまくいきませんでした。

Dockerを使ったインストール

node.js公式に従い、Dockerを使った再インストールを行いました。この場合はnode.js,npmともにスムーズにインストールでき、バージョン確認もできました。

しかしこれではDocker環境の中でしか使えないのが煩わしいです。

ターミナルの変更

VScodeのターミナルをcmdに変更したところ、npmのバージョン確認もできるようになりました。
この状態でTypescriptのインストールも実行しました。

npm install -g typescript

バージョン確認も成功。

tsc -v

それでも相変わらず、PowerShellではnpm,Typescriptともにバージョン確認できませんでした。
以下のnpmのパスをユーザ環境変数に加えましたが、それでも改善しませんでした。

C:\Users\<ユーザ名>\AppData\Roaming\npm

管理者権限と実行ポリシー

以上を試した後、Powershellで実行ポリシー確認を行いました。

Get-ExecutionPolicy

この結果がRestrictedとなっていたため、管理者として実行するべく以下を実行しました。

Set-ExecutionPolicy RemoteSigned

結果、以下のメッセージが出ているのを確認しました。

Set-ExecutionPolicy : レジストリ キー 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell' へのアクセスが拒否され ました。 既定 (LocalMachine) のスコープの実行ポリシーを変更するには、[管理者として実行] オプションを使用して Windows PowerShell を起動してくだ
さい。現在のユーザーの実行ポリシーを変更するには、"Set-ExecutionPolicy -Scope CurrentUser" を実行してください。 発生場所 行:1 文字:1
- Set-ExecutionPolicy RemoteSigned


  + CategoryInfo          : PermissionDenied: (:) [Set-ExecutionPolicy], UnauthorizedAccessException
  + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand

そこで以下を実行し、ユーザースコープで実行ポリシーを変更した結果、ようやくPowerShellでのバージョン確認に成功しました。

Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

まとめ

結果的に、パスの環境変数への追加と実行ポリシーの変更で解決しましたが、いろいろ試したことでcmdターミナルを触るきっかけにもなりました。似た問題に遭った方の役に立ちますと幸いです。

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?