[解決済み] Windowsでグローバルなnpmのインストール場所?
質問
100%確実ではありませんが、自宅とオフィスの両方の PC に Windows インストーラーから node v5 をインストールしたと思っています。
私の自宅の PC では、グローバル インストールは %APPDATA% の下で行われます。
(dev) go|c:\srv> which lessc
c:\users\bjorn\appdata\roaming\npm\lessc
c:\users\bjorn\appdata\roaming\npm\lessc.cmd
を、私の会社の PC では、プログラム ファイルに入ります。
(dev) go|w:\srv> which lessc
c:\program files\nodejs\lessc
c:\program files\nodejs\lessc.cmd
PyCharmのファイルウォッチャーにこれらのグローバルツールのフルパスを提供する必要があり、プロジェクトファイルを共有しているので、ユーザフォルダ下にグローバルリソースを持たないことは理にかなっています。
なぜグローバルインストールは異なるフォルダーになるのでしょうか?
どのように解決するのですか?
によると https://docs.npmjs.com/files/folders
<ブロッククオート- ローカルインストール (デフォルト): 現在のパッケージルートの ./node_modules にものを置きます。
- グローバルインストール(-g付き): /usr/localまたはnodeがインストールされている場所にものを置きます。
- require()するのであれば、ローカルにインストールします。
- コマンドラインで実行するのであれば、グローバルにインストールします。 -> 両方必要な場合は、両方の場所にインストールするか、npm linkを使用します。
prefixの設定
prefixの設定値は、デフォルトでnodeがインストールされている場所になります。ほとんどのシステムでは
ほとんどのシステムで、これは
/usr/local
.
Windowsでは、これは正確な
node.exeのバイナリの場所です。
.
このドキュメントは少し古いかもしれませんが、なぜグローバルインストールが異なるディレクトリになるのかを説明しています。
(dev) go|c:\srv> npm config ls -l | grep prefix
; prefix = "C:\\Program Files\\nodejs" (overridden)
prefix = "C:\\Users\\bjorn\\AppData\\Roaming\\npm"
他の回答から、オーバーライドが Windows のデフォルトの場所になったように見えるかもしれませんし、このオーバーライドが実施される前に私のオフィス版をインストールした可能性があります。
これは、すべてのチーム メンバーに、自分の PC からの相対的な同じ絶対パスにグローバルが格納されるようにするための解決策、つまり (管理者として実行) も示唆しています。
cmd
で実行し、PowerShellでは実行しないでください!)
mkdir %PROGRAMDATA%\npm
setx PATH "%PROGRAMDATA%\npm;%PATH%" /M
npm config set prefix %PROGRAMDATA%\npm
新しい cmd.exe ウィンドウを開き、すべてのグローバル パッケージを再インストールします。
説明(by lineno.):
- グローバルを保持するための適切な場所にフォルダーを作成します (Microsoft は、ProgramFiles に書き込まないことを固く禁じています。 ProgramFiles に書き込まないことを固く禁じているので、%PROGRAMDATA% が次の論理的な場所と思われます。 が次の論理的な場所のようです。
-
ディレクトリはパス上にある必要があります。
setx .. /M
で設定します。 システムパス(HKEY_LOCAL_MACHINEの下)を設定します。 これは、管理者権限を持つシェルでこれを実行する必要があるものです。 これは、管理者権限を持つシェルでこれを実行する必要があるものです。 -
伝える
npm
に、この新しいパスを使うように伝えます。(注意: このシェルでは %PATH% にフォルダが表示されないので、新しいウィンドウを開く必要があります) に表示されないので、新しいウィンドウを開く必要があります)。
関連
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み] EventEmitter のメモリリークの可能性が検出された
-
[解決済み] npm installの-saveオプションは何ですか?
-
[解決済み] Windowsにpipをインストールするにはどうしたらいいですか?
-
[解決済み] インストールされているnpmパッケージのバージョンを検索する
-
[解決済み] npm package.jsonファイルのdependencies, devDependencies, peerDependenciesの違いは何ですか?
-
[解決済み] Bowerとnpmの違いは何ですか?
-
[解決済み] Node.jsのnpmモジュールをアンインストールするにはどうすればよいですか?
-
[解決済み] npmはどこにパッケージをインストールするのですか?
-
[解決済み] NPMパッケージの以前の正確なバージョンをインストールするにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Nodejs: Errorを解決する方法。ENOENT: そのようなファイルまたはディレクトリがありません
-
[解決済み】MongoDBでコレクションを日付で並べ替えるには?
-
[解決済み】Nodejsの解決方法:Error: ENOENT: そのようなファイルまたはディレクトリがありません
-
[解決済み】Passport.js - エラー: ユーザーのセッションへのシリアライズに失敗しました。
-
[解決済み】Mongooseで配列の値を更新する方法
-
[解決済み】POSTできない/expressを使用するとエラーが発生する
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み] NodeJsのSequelizeでautoIncrementはどのように動作するのですか?
-
[解決済み] node.jsのセットアップウィザードが途中で終了してしまう
-
[解決済み】Node.js: node-sassとnode-gypが原因でPythonが見つからない例外が発生する。