LoginSignup
32
39

More than 1 year has passed since last update.

[Node.js]大企業様で使われているproxy.pacよりProxyサーバを設定している環境で「npm install」を使う方法

Last updated at Posted at 2016-12-12

Problem

大企業様の現場で構内請負や派遣で仕事していると、よく困ります。
それは、nodejsを使った簡単なツールをインストールする際に、npmでモジュールをダウンロードしようとするとダウンロードが出来ないことがある、ということ。
多くの場合、大企業様ではproxy.pacファイルを使っています。そして、事務用PCが持っている固定IPアドレスによって、アクセスできるProxyサーバーを振り分けています。このようなネットワーク環境では、npm install でモジュールがダウンロード出来ません。

Solution

この問題を解決するには次のように設定します。

$ npm config set strict-ssl false
$ npm config set registry "http://registry.npmjs.org/"
(誤)$ npm config set registry "https://registry.npmjs.org/"
(正)$ npm config set registry "http://registry.npmjs.org/"

$ npm config set proxy "http://{{userid}}:{{password}}@{{server-address}}:{{port}}"
$ npm config set proxy "http://{{domain}}\{{userid}}:{{password}}@{{server-address}}:{{port}}"
説明
{{domain}} ドメイン
{{userid}} ユーザーID, ユーザー名
{{password}} パスワード
{{server-address}} サーバーアドレス。直接IPアドレスでもよい
{{port}} ポート番号。80とか8080とか。環境に合わせる。

See also

元の情報はこちら。

まとめ

proxy.pacでProxyサーバーを自動設定しているようなLAN環境では、

  1. まず、proxy.pacファイルをダウンロードして、
  2. 貸与された作業用PCの固定IPアドレスでproxy.pacファイル内を検索し、
  3. Proxyサーバへのアドレスを見つけてね。

ということです。

元記事を調べて、事実を確認してね。

Conclusion

とある企業様のネットワーク環境で、Windows10でnode.jsをダウンロードし、npmで上記設定を行い、モジュールがダウンロードできることを確認しました。(どこの企業様の社内ネットワーク?:rolling_eyes:
Mac、Raspberry Piでは確認していません。たぶん同じ設定をすることになると思います。

新しい情報がありましたら、コメントにて教えていただけると幸いです。

補足情報

Windows 10で、http_proxyhttps_proxyの環境変数に次のProxy設定を行うと、VSCodeの拡張機能ダウンロードやWSL2のLinuxコンテナーからのsudo apt-get updateなどもできるようになりました。

$env:http_proxy
$env:https_proxy
$env:http_proxy = "http://<userid>:<password>@<server-address>:<port>"
$env:https_proxy = "http://<userid>:<password>@<server-address>:<port>"

または、環境変数に設定する。
2021-06-17_153007.png

どこかのコミュニティーのどなたかの何らかに貢献できましたら幸いです。👍

(了)

32
39
1

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
32
39