web-dev-qa-db-ja.com

Windows 2012サーバー上のすべてのユーザーがグローバルNPMパッケージを利用できるようにする

統合サーバーを継続してインストールしようとしています。このサーバーはGITからデータをプルし、アプリケーションのビルドを試みます。 Windows 2012サーバーを使用しているため、複数のユーザーがビルドをトリガーできます。この目的のために、管理者としてインストールするすべてのノードパッケージをすべてのユーザーが使用できるようにします。

どうやって:

  1. すべてのユーザーが利用できるノードパッケージをグローバルにインストールします。
  2. ローカルにホストされたノードレジストリを使用したい。ノードレジストリを使用したくありません。
  3. パッケージをインストールした後、すべてのユーザーがパッケージにアクセスできるかどうかをどのように検証できますか?
19
OpenStack

同じ問題があった。 CLIでグローバルパッケージを実行するにはCIビルドエージェントが必要でした。 Saw この投稿 システム全体の新機能のリクエストnpm -g Windowsの場合。

要するに:

  1. 管理者レベルのコマンドプロンプトを開く
  2. 現在のグローバルプレフィックスに注意してください:npm prefix -g
  3. CIユーザーにグローバルプレフィックスを設定します:npm config set prefix <C:\Users\CI_USER\AppData\Roaming\npm>
  4. 必要なパッケージをインストールします:npm i -g PKG
  5. プレフィックスを以前の値に復元します。
41
Nick

「ネットワークサービス」アカウントには、次のフォルダーを使用します。

C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\npm
21
oren beeri

グローバル環境変数NODE_PATHを追加して、検索パスが必要なパッケージを設定できます。詳細はこちらをご覧ください。 https://Gist.github.com/branneman/8048520#4-the-environment

1
Tony Yip