質問: **問題点: npm installを行うとエラーになる** 現状: 1. Node.js v12.19.0をダウンロード (インストール時、指定した保存先 C:\Program Files\nodejs\ 設定はすべてデフォルトのままインストールしました) 2. コマンドで、C:\Program Files\nodejs\へ移動し、npm init → package.jsonを作成 3. package.jsonが作成されたファイルへcdで移動(C:\Program Files\nodejs\node_modules\npm) 4. そこでnpm installを行ったところ、以下のエラーが出ています。 解決方法をご存じの方いらっしゃいますでしょうか。 ご教授いただければ幸いです。 どうぞよろしくお願いいたします。 ![画像の説明をここに入力](https://i.stack.imgur.com/qnXhP.png)
回答: エラーメッセージに内容は書かれていて、@cubick さんがコメントされている通り、作業している場所`C:\Program Files\nodejs\node_modules\npm`から`npm install`を実行した中で、`C:\Program Files\nodejs\node_modules\npm\node_modules\.staging`フォルダを作成しようとした際に、WindowsOSから、その場所にフォルダを作成する権限が無いというエラーが通知されて処理が終了しています。 対策としては、コメントで紹介したものを含むこれらの記事を参照して、以下のようになると思われます。 Node.js プロジェクト の 作成 npm よく使うコマンドまとめ npm の基本的な使い方 あなたがnpm installをしてはいけない時 1. 何かのドライブのルートフォルダ(例えばC:\)やユーザー毎のフォルダ(例えばC:\Users\USER\)に、Node.jsを使う/Node.jsで動作するプログラムを扱う作業全般をまとめるフォルダ(例えばNodeJsWorks)を作成する 2. その下に個々のプログラム/プロジェクト用のフォルダ(例えばSampleProject1)を作成する 3. 上記2.で作ったフォルダの直下で該当プログラム/プロジェクト用の`npm init`や`npm install`を行う 4. パッケージ名を指定しない`npm install`だけの実行は、既に`package.json`の中身にインストールするべきパッケージ名が書かれている場合に使うためのものなので新規プロジェクトでは行わない 5. 環境移動などのためにパッケージ名を指定しない`npm install`を行う場合でも、質問のようにフォルダを移動したりせず、上記3.のようにプログラム/プロジェクト用のフォルダの直下で実行する 試してみてください。 ちなみに紹介した「Node.js プロジェクト の 作成」に以下の注意事項が書かれていますが、これはNode.js/npmに限らず、他のプログラムに対しても言えます。 > > また、ディレクトリ作成する際は、そのパス中に「日本語文字列」と「空白」のどちらとも含まれないように注意しています。 最近ではあまり遭遇しないですが、「日本語文字列(全角文字)」と「空白」は思わぬトラブルの原因になることが多いのであえて避けています。 > > > それに加えて作業用フォルダ/ディレクトリを作成・選定する際には(何かの指示で明示的に対象となっている場合を除き)以下のようなものも避けてください。 * システムが保護していて、アクセスに管理者権限が必要なフォルダ 例えばC:\Windows, C:\Program Files, C:\Program Files (x86), C:\ProgramData およびその配下のフォルダ、C:\といった各ドライブのルートフォルダなど 或いはExplorerでクリックすると「このフォルダにアクセスする許可がありません。 [続行]をクリックすると、このフォルダへの永続的なアクセスを取得します。」と表示されるフォルダ(例えそれでアクセス権を取得したとしても使わない方が良さそう) * 他のプログラムがインストールされているフォルダ、他のプログラムが作業用に使用しているフォルダ * デスクトップ・ダウンロード・ピクチャ等のフォルダ。(ドキュメントは微妙かも?)