阿里镜像
npm 中相关的包在国内没有很好的支持,为此阿里提供了阿里镜像。
使用1 cnpm
阿里镜像要求大家使用 cnpm 包来安装包,cnpm 安装如下:
npm install -g cnpm --registry=https://registry.npm.taobao.org
或者使用 alias 指令:
alias cnpm="npm --registry=https://registry.npm.taobao.org \
--cache=$HOME/.npm/.cache/cnpm \
--disturl=https://npm.taobao.org/mirrors/node \
--userconfig=$HOME/.cnpmrc"
#Or alias it in .bashrc or .zshrc
$ echo '\n#alias for cnpm\nalias cnpm="npm --registry=https://registry.npm.taobao.org \
--cache=$HOME/.npm/.cache/cnpm \
--disturl=https://npm.taobao.org/mirrors/node \
--userconfig=$HOME/.cnpmrc"' >> ~/.zshrc && source ~/.zshrc
可以看出,cnpm 就是修改了包的原址、缓存位置、disturl 和用户环境配置文件位置,无其他修改,那么主要的就两条:
- registry 包的源
- disturl 针对 NodeJS 底层支持
如果你的项目没用到底层构建,那 --disturl
对你的用处并不大,不过建议改掉,因为你可能会遇到依赖 C++ 的包,这时 npm install
又会奇慢无比。详见这里
安装好后,使用 cnpm
命令代替 npm
命令即可。例如 npm install -g gatsby-cli
改为 cnpm install -g gatsby-cli
。
使用2 直接修改 npm 配置
可以使用以下命令直接修改 npm 的相关配置,实现对包来源的修改:
npm config set registry https://registry.npm.taobao.org
npm config set disturl https://npm.taobao.org/mirrors/node
修改之后,直接使用 npm
命令即可,因为包的来源已经更改,速度和 cnpm
命令并无差别。不过这种方式污染了 npm
命令的原始配置。
使用3 一次性配置
在使用 npm 命令时,可以直接传入相关配置作为本次命令配置的初始化,比如:
npm install -g gatsby-cli --registry=https://registry.npm.taobao.org --disturl=https://npm.taobao.org/mirrors/node
这种方式很繁琐,且地址难以记忆,但是既不用安装 cnpm,也不用修改 npm 配置,干净。
代理
难免有的包会放到 github 上,比如 sharp,使用 npm install sharp
是很煎熬的,当然也可以去把包下到 cache 目录,免去下载的步骤。
如果你有代理,那么就可以使用 --proxy
指令用代理去下载,比如:
npm instal sharp --proxy=http://127.0.0.1:7890
具体代理接口需要自行查找,在 win 上点击 win 键搜索 「代理」即可。
代理不同于上述方式,有条件者可以使用。
其他
另外备注上原始目录:
- registry:https://registry.npmjs.org/
- disturl:默认为空