mirror of
https://github.com/andatoshiki/toshiki-notebook.git
synced 2026-06-06 06:55:55 +00:00
16 lines
10 KiB
JavaScript
16 lines
10 KiB
JavaScript
import{_ as a}from"./chunks/PageInfo.vue_vue_type_script_setup_true_lang.250b3e56.js";import{_ as p,o,c as e,H as l,k as s,a as t,Q as r}from"./chunks/framework.b7580407.js";import"./chunks/commonjsHelpers.725317a4.js";const _=JSON.parse('{"title":"Installing NPM Packages Behind Proxy","description":"","frontmatter":{},"headers":[],"relativePath":"development/installing-npm-package-behind-proxy.md","filePath":"development/installing-npm-package-behind-proxy.md","lastUpdated":1726415491000}'),c={name:"development/installing-npm-package-behind-proxy.md"},i=s("h1",{id:"installing-npm-packages-behind-proxy",tabindex:"-1"},[t("Installing NPM Packages Behind Proxy "),s("a",{class:"header-anchor",href:"#installing-npm-packages-behind-proxy","aria-label":'Permalink to "Installing NPM Packages Behind Proxy"'},"")],-1),y=r(`<p>On a recent assignment, I needed to install npm behind a corporate proxy. I had already set the environment variables <code>HTTP_PROXY</code> and <code>HTTPS_PROXY</code>. Other command line utilities, like ruby gems, recognized these environment variables. Npm did not.</p><p>After some googling, I found the following way to configure the proxy for npm.</p><div class="language-bash vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki github-dark-dimmed vp-code-dark"><code><span class="line"><span style="color:#768390;"># npm</span></span>
|
||
<span class="line"><span style="color:#F69D50;">npm</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">config</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">set</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">proxy</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;"><</span><span style="color:#96D0FF;">http://127.0.0.1:789</span><span style="color:#F47067;">0></span></span>
|
||
<span class="line"><span style="color:#F69D50;">npm</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">config</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">set</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">https-proxy</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;"><</span><span style="color:#96D0FF;">http://127.0.0.1:789</span><span style="color:#F47067;">0></span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#768390;"># yarn</span></span>
|
||
<span class="line"><span style="color:#F69D50;">yarn</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">config</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">set</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">proxy</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;"><</span><span style="color:#96D0FF;">http://127.0.0.1:789</span><span style="color:#F47067;">0></span></span>
|
||
<span class="line"><span style="color:#F69D50;">yarn</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">config</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">set</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">https-proxy</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;"><</span><span style="color:#96D0FF;">http://127.0.0.1:789</span><span style="color:#F47067;">0></span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#6A737D;"># npm</span></span>
|
||
<span class="line"><span style="color:#6F42C1;">npm</span><span style="color:#24292E;"> </span><span style="color:#032F62;">config</span><span style="color:#24292E;"> </span><span style="color:#032F62;">set</span><span style="color:#24292E;"> </span><span style="color:#032F62;">proxy</span><span style="color:#24292E;"> </span><span style="color:#D73A49;"><</span><span style="color:#032F62;">http://127.0.0.1:789</span><span style="color:#D73A49;">0></span></span>
|
||
<span class="line"><span style="color:#6F42C1;">npm</span><span style="color:#24292E;"> </span><span style="color:#032F62;">config</span><span style="color:#24292E;"> </span><span style="color:#032F62;">set</span><span style="color:#24292E;"> </span><span style="color:#032F62;">https-proxy</span><span style="color:#24292E;"> </span><span style="color:#D73A49;"><</span><span style="color:#032F62;">http://127.0.0.1:789</span><span style="color:#D73A49;">0></span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#6A737D;"># yarn</span></span>
|
||
<span class="line"><span style="color:#6F42C1;">yarn</span><span style="color:#24292E;"> </span><span style="color:#032F62;">config</span><span style="color:#24292E;"> </span><span style="color:#032F62;">set</span><span style="color:#24292E;"> </span><span style="color:#032F62;">proxy</span><span style="color:#24292E;"> </span><span style="color:#D73A49;"><</span><span style="color:#032F62;">http://127.0.0.1:789</span><span style="color:#D73A49;">0></span></span>
|
||
<span class="line"><span style="color:#6F42C1;">yarn</span><span style="color:#24292E;"> </span><span style="color:#032F62;">config</span><span style="color:#24292E;"> </span><span style="color:#032F62;">set</span><span style="color:#24292E;"> </span><span style="color:#032F62;">https-proxy</span><span style="color:#24292E;"> </span><span style="color:#D73A49;"><</span><span style="color:#032F62;">http://127.0.0.1:789</span><span style="color:#D73A49;">0></span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br></div></div><p>If you need to specify credentials, they can be passed in the url using the following syntax.</p><div class="language- vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki github-dark-dimmed vp-code-dark"><code><span class="line"><span style="color:#adbac7;">[<http://user_name:password@proxy.company.com:8080>](<http://user_name:password@proxy.company.com:8080/>)</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292e;">[<http://user_name:password@proxy.company.com:8080>](<http://user_name:password@proxy.company.com:8080/>)</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><p>Further exploration of the <a href="https://npmjs.org/doc/config.html" target="_blank" rel="noreferrer">npm config documentation</a> showed that the <code>npm config set</code> command sets the proxy configuration in your <code>.npmrc</code> file. You can also set the proxy configuration as a command line argument or environment variable.</p><p>Configuration parameters can be specified using <code>--</code> when executing npm. So the proxy could also be specified as follows.</p><div class="language-bash vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki github-dark-dimmed vp-code-dark"><code><span class="line"><span style="color:#F69D50;">npm</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">--https-proxy=http://proxy.company.com:8080</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">-g</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">install</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">karma</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#6F42C1;">npm</span><span style="color:#24292E;"> </span><span style="color:#005CC5;">--https-proxy=http://proxy.company.com:8080</span><span style="color:#24292E;"> </span><span style="color:#005CC5;">-g</span><span style="color:#24292E;"> </span><span style="color:#032F62;">install</span><span style="color:#24292E;"> </span><span style="color:#032F62;">karma</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><p>To pass configurattion parameters to npm as environment variables, they must be prefixed with <code>npm_config_</code>. The proxy configuration could be set with environment variables as follows.</p><div class="language-bash vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki github-dark-dimmed vp-code-dark"><code><span class="line"><span style="color:#F47067;">export</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">npm_config_proxy</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;"><</span><span style="color:#96D0FF;">http://proxy.company.com:808</span><span style="color:#F47067;">0></span></span>
|
||
<span class="line"><span style="color:#F47067;">export</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">npm_config_https_proxy</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;"><</span><span style="color:#96D0FF;">http://proxy.company.com:808</span><span style="color:#F47067;">0></span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#D73A49;">export</span><span style="color:#24292E;"> </span><span style="color:#032F62;">npm_config_proxy</span><span style="color:#24292E;"> </span><span style="color:#D73A49;"><</span><span style="color:#032F62;">http://proxy.company.com:808</span><span style="color:#D73A49;">0></span></span>
|
||
<span class="line"><span style="color:#D73A49;">export</span><span style="color:#24292E;"> </span><span style="color:#032F62;">npm_config_https_proxy</span><span style="color:#24292E;"> </span><span style="color:#D73A49;"><</span><span style="color:#032F62;">http://proxy.company.com:808</span><span style="color:#D73A49;">0></span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br></div></div>`,10);function d(m,h,g,F,u,b){const n=a;return o(),e("div",null,[i,l(n,{readTime:"1",words:"224"}),y])}const f=p(c,[["render",d]]);export{_ as __pageData,f as default};
|