43 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			43 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								title: Npm Behind a Proxy Server
							 | 
						|||
| 
								 | 
							
								localeTitle: Npm在代理服务器后面
							 | 
						|||
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								## 用例
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								您可能需要修改访问远程存储库(例如[npmjs](https://www.npmjs.com/) )的`npm install`命令以安装Node JS模块;如果您的互联网访问是通过[代理服务器](https://en.wikipedia.org/wiki/Proxy_server) 。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								代理服务器在大学和商业类型环境中很常见。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								您可以从浏览器的设置面板中[找到代理设置](http://www.wikihow.com/Change-Proxy-Settings) 。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								## 使用Proxy与NPM
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								获得代理设置(服务器URL,端口,用户名和密码)后;您需要按如下方式配置`npm`配置。
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								$ npm config set proxy http://<username>:<password>@<proxy-server-url>:<port> 
							 | 
						|||
| 
								 | 
							
								 $ npm config set https-proxy http://<username>:<password>@<proxy-server-url>:<port> 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								您必须使用特定于代理服务器凭据的值替换`<username>` , `<password>` , `<proxy-server-url>` , `<port>` 。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								这些字段是可选的。例如,您的代理服务器可能甚至不需要`<username>`和`<password>` ,或者它可能在端口80上运行(在这种情况下,不需要`<port>` )。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								一旦你设置了这些,你的`npm install` , `npm i -g`等将正常工作。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								## 何时不使用
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								如果发生以下任一情况,则不`npm`命令与代理设置一起使用:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								> *   例如,您的系统管理员或公司策略不允许您从NPM-JS访问远程`npm`存储库。
							 | 
						|||
| 
								 | 
							
								> *   有问题的Node模块的远程存储库不在您的计算机中,但它位于内部网络中。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								## 取消设置代理设置
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								使用[此](http://luxiyalu.com/how-to-remove-all-npm-proxy-settings/)博客文章取消设置代理设置。您还可以从`.npmrc` [文件中](https://docs.npmjs.com/files/npmrc)手动删除指定代理设置的行。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								## 资源
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								您可以使用以下资源进一步阅读: -
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								> *   [我可以在代理服务器后面登录吗?](https://github.com/npm/npm/issues/9401#issuecomment-134569585)
							 | 
						|||
| 
								 | 
							
								> *   [企业代理背后的NPM](http://intenseagile.com/2015/09/04/npm-behind-proxy.html)
							 |