返回

Npm代理和国内源设置

开发配置

npm全称为Node Packaged Modules。它是一个用于管理基于node.js编写的package的命令行工具。其本身就是基于node.js写的,这有点像gem与ruby的关系。

npm的优点是可以方便地安装、更新、卸载和管理package,而且有很多开源的package可以使用。但是,由于npm的源服务器在国外,所以网络速度可能会受到影响,导致安装或更新package时出现超时或失败的情况。

为了解决这个问题,可以为npm设置代理和国内源,以提高网络速度和安装package的效率。

设置代理

设置代理的目的是让npm通过一个中间服务器来访问源服务器,从而绕过一些网络限制或提高速度。设置代理的命令如下:

npm config set proxy="http://192.168.2.1:8080"

其中,http://192.168.2.1:8080是代理服务器的地址和端口,要根据你的实际情况修改。你可以使用自己搭建的代理服务器,或者使用一些公共的代理服务器,比如http://cn-proxy.com/

设置完代理后,你可以查看下目前配置:

npm config list

如果看到类似下面的输出,说明代理设置成功:

; cli configs
metrics-registry = "https://registry.npmjs.org/"
scope = ""
user-agent = "npm/6.14.15 node/v14.17.6 win32 x64"

; userconfig C:\Users\user\.npmrc
proxy = "http://192.168.2.1:8080"

; builtin config undefined
prefix = "C:\\Users\\user\\AppData\\Roaming\\npm"

; node bin location = C:\Program Files\nodejs\node.exe
; cwd = C:\Users\user\Desktop
; HOME = C:\Users\user
; "npm config ls -l" to show all defaults.

如果你想取消代理设置,可以使用以下命令:

npm config delete proxy

设置国内源

设置国内源的目的是让npm从一个国内的服务器获取package信息和文件,从而避免国外源的不稳定或慢速。设置国内源的命令如下:

npm config set registry http://registry.npmmirror.com

其中,https://registry.npm.taobao.org是淘宝提供的一个国内源,它会定期同步国外源的数据。当然,你也可以使用其他国内源,比如https://developer.aliyun.com/mirror/NPM

设置完国内源后,你可以查看现有源:

npm config get registry

如果看到类似下面的输出,说明国内源设置成功:

http://registry.npmmirror.com

如果你想恢复默认源,可以使用以下命令:

npm config set registry https://registry.npmjs.org/

更新package

设置完代理和国内源后,你就可以用新源更新一波package了:

npm update

这个命令会检查你项目中所有依赖的package是否有新版本,并且更新到最新版本。如果你只想更新某个特定的package,可以指定它的名字:

npm update express

这样就会更新express这个package到最新版本。