cnpm 是什么?怎么配置?

cnpm 是什么?

学习NodeJs的同学无论是读前辈的博客时,还是在各论坛搜索资料时,大多会遇到$ cnpm install [name]的命令,众所周知npm(即 node package manager )是Node的包管理工具,能解决NodeJS代码部署上的很多问题。可是cnpm又是什么呢?

cnpm的官方介绍是:cnpm是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。既然都一样,那么cnpm为什么要出现呢?

由于npmjs.org的服务器在国外(即在“墙”外),国(墙)内开发者做项目的时候,很多“包”的下载速度极慢,在这种环境下阿里巴巴为了众多开发者的便捷便挺身而出推出了淘宝镜像(即cnpm),它把npm官方的“包”全部搬到国内,供广大开发者使用。

cnpm怎么配置?

有很多方法来配置npmregistry地址,下面根据不同情境列出几种比较常用的方法:

方法1、临时使用

npm --registry https://registry.npm.taobao.org install [依赖的名称]

方法2、持久使用(慎用)

:这种方法不建议使用,因为使用这种方式会造成之后都要通过淘宝镜像来获取依赖包,如果是公司内部发布到npm的依赖包,会出现下载失败的情况

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

检查是否配置成功

npm config get registry

方法3、安装cnpm(推荐)

推荐这种方式是因为既不会影响npm命令,又不用每次都写淘宝地址进行依赖包的安装

npm install -g cnpm --registry=https://registry.npm.taobao.org

或者通过添加npm参数alias一个新命令:

alias cnpm="npm --registry=https://registry.npm.taobao.org \ ​ --cache=$HOME/.npm/.cache/cnpm \ ​ --disturl=https://npm.taobao.org/dist \ ​ --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/dist \ --userconfig=$HOME/.cnpmrc"' >> ~/.zshrc && source ~/.zshrc

cnpm 怎么用?

安装模块

[registry.npm.taobao.org](https://registry.npm.taobao.org/) 安装所有模块. 当安装的时候发现安装的模块还没有同步过来, 淘宝 NPM 会自动在后台进行同步, 并且会让你从官方 NPM[registry.npmjs.org](https://registry.npmjs.org/)进行安装. 下次你再安装这个模块的时候, 就会直接从 淘宝 NPM 安装了.

$ cnpm install [name]

同步模块

直接通过 sync 命令马上同步一个模块, 只有 cnpm 命令行才有此功能:

    $ cnpm sync connect

当然, 你可以直接通过 web 方式来同步: /sync/connect

    $ open https://npm.taobao.org/sync/connect

其它命令

支持 npm 除了 publish 之外的所有命令, 如:

    $ cnpm info connect

相关镜像

1267202个模块12673319个模块版本316次删除11590596次本日下载282949451次本周下载1210301482次本月下载51603131次昨日下载311165044次上周下载954530684次上月下载

版本

Version Badge

Default style is flat-square.

Badge URL: https://npm.taobao.org/badge/v/cnpmjs.org.svg

  • <0.1.0 & >=0.0.0:

  • <1.0.0 & >=0.1.0:

  • >=1.0.0:

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...