npm离线安装?用代理吧!


服务器的机子,只能访问内网,不能访问外网。
npm 安装命令都要有外网访问。难道一个接一个下载依赖包?


答案很简单,用代理,把服务器上的npm,设置代理到可以访问外网的机子上(代理工具:ccproxy、fiddler等),即可解决问题!


#npm config set proxy http://proxy.company.com:8080
#npm config set https-proxy http://proxy.company.com:8080


搞到以后,删除代理设置:
#npm config delete proxy
#npm config delete https-proxy

其它详细参数:https://npmjs.org/doc/config.html


附:直接给linux设置网络代理:
#export http_proxy http://proxy.company.com:8080
#export https_proxy http://proxy.company.com:8080

 

前面日志中的例子需运行“npm install formidable”指令安装模块支持文件上传。

如果浏览器有代理服务器,或者办公环境封杀了https,则需要设置npm环境变量。

我看到的错误提示信息是这样:

npm ERR! Error: failed to fetch from registry: formidable

首先查看环境变量默认值(没准将来想设回去):

>npm config get proxy
null

>npm config get registry
https://registry.npmjs.org/

然后设置新值:

>npm config set registry http://registry.npmjs.vitecho.com

>npm config set proxy=http://10.2.3.4:8080 (此处代理应与浏览器代理设置相同)

如果继续安装看到下面的错误提示:

npm ERR! Please try running this command again as root/Administrator.

解决问题:“以管理员身份运行”cmd

通过“npm list”指令可看到我已在办公环境成功安装formidable和express:

C:Windowssystem32>npm list
C:Windowssystem32
├─┬ express@2.5.9
│ ├── connect@1.8.6
│ ├── mime@1.2.4
│ ├── mkdirp@0.3.0
│ └── qs@0.4.2
└── formidable@1.0.9

进入用例路径,在启动服务器时看到下面的错误提示:

Error: Cannot find module 'formidable'

在同样的路径下再运行一次“npm install formidable”就行了(此处未究其原因)。

本文出自 “iData” 博客,请务必保留此出处http://idata.blog.51cto.com/4581576/829802

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值