質問: ### 問題の背景 ・元々node.js v8.9がインストールされていましたが、(npmのバージョンは忘れました) グローバルインストールしているnode_modulesをきれいにしたいこと、そしてnode.js自体のバージョンを上げたいことからアンインストール→再度新規でインストールを行いました。(やり方がまずかったことは承知しておりますので一旦無視してください) ・アンインストールの際は以下を実施しました。 1.「プログラムと機能」からNode.jsをアンインストールする。 2.下記フォルダを手動で削除する %USERPROFILE%\AppData\Roaming\npm %USERPROFILE%\AppData\Roaming\npm-cache ### 質問内容 題名の通り再度インストールしたnpmでローカルインストールしたnode_modulesにパスが通りません。 かつてのバージョンであればローカルインストールしたものはパスが通っていたと記憶しております。 環境変数の設定が漏れているのだと思いますが、何を追加すればいいかわかりません。 もしくは再インストールなど別の方法での問題解決でも構いません。 ご教示お願い致します。 ### 発生している問題・エラーメッセージ C直下のTempにてAngular-CLIをローカルインストールし、 ngコマンド実行時のエラーです。 再インストール前はnpm install後、なんの設定もなくngコマンドが実行できていたと記憶しています。 ``` C:\Temp>npm install @angular/cli npm WARN saveError ENOENT: no such file or directory, open 'C:\Temp\package.json' npm WARN enoent ENOENT: no such file or directory, open 'C:\Temp\package.json' npm WARN Temp No description npm WARN Temp No repository field. npm WARN Temp No README data npm WARN Temp No license field. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) + @angular/cli@7.2.0 added 93 packages from 84 contributors in 21.409s C:\Temp>ng -v 'ng' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 ``` ### 確認したこと ひとまず以下は確認しました。 $ npm bin C:\Temp\node_modules\.bin $ npm bin -g C:\Users\%UserName%\AppData\Roaming\npm node.js関連の環境変数 NODE_PATH=C:\Users\%UserName%\AppData\Roaming\npm\node_modules ### 補足情報(FW/ツールのバージョンなど) 現在使用しているマシン及び各プログラムのバージョンは以下の通りです。 OS:Windows10 64bit node.js:v10.15.0 npm : 6.4.1
回答: もともとローカルの `node_modules/.bin` には npm-scripts を経由しなければパス通らない仕様ですよ。 おそらく以前はグローバルインストールしていたのだと思います。 また Scaffold を用意するツールなどは、プロジェクトがそれ自体に依存していないのならグローバルインストールするべきです。 どうしてもグローバルインストールしたくなかったりお試ししたい場合は `npx` コマンド使うのもありです。