npm和cnpm区别

作者: 彬_仔 | 来源:发表于2016-10-19 16:04 被阅读0次

npm(node package manager)是node的包管理工具,关于npm的详细内容可以看一下NPM介绍,本文主要是对上一篇文章的补充和介绍CNPM的介绍。

上一篇关于NPM介绍的文章中发现最后少介绍了一个知识点,所以先在这里介绍一下。

关于package.json

这货在官网似乎没有详细的描述,其实就是包的描述信息啦。假设当我们下载了node应用,这个node应用依赖于A、B、C三个包,如果没有package.json,我们需要人肉安装这个三个包(如果对版本有特定要求就更悲剧了):

    $ npm install A
    $ npm install B
    $ npm install C

有了package.json,一行命令安装所有依赖。

    $ npm install

package.json字段简介

字段相当多,但最重要的的是下面几个

  1. name: package的名字(由于他会成为url的一部分,所以 non-url-safe 的字母不会通过,也不允许出现"."、"_"),最好先在http://registry.npmjs.org/上搜下你取的名字是否已经存在
  2. version: package的版本,当package发生变化时,version也应该跟着一起变化,同时,你声明的版本需要通过semver的校验(semver可自行谷歌)
  3. dependencies: package的应用依赖模块,即别人要使用这个package,至少需要安装哪些东东。应用依赖模块会安装到当前模块的node_modules目录下。
  4. devDependencies: package的开发依赖模块,即别人要在这个package上进行开发
    其他:参见官网

package版本

在package.json里,你经常会在包名后看到类似"~0.1.0"这样的字符串,这就是包的版本啦。下面会列举最常见的版本声明形式,以及版本书写的要求:

常见版本声明形式
a、"~1.2.3" 是神马意思呢,看下面领悟

"~1.2.3" = ">=1.2.3 <1.3.0"

"~1.2" = ">=1.2.0 <1.3.0"

"~1" = ">=1.0.0 <1.1.0"
b、"1.x.x"是什么意思呢,继续自行领悟

"1.2.x" = ">=1.2.0 <1.3.0"

"1.x.x" = ">=1.0.0 <2.0.0"

"1.2" = "1.2.x"

"1.x" = "1.x.x"

"1" = "1.x.x"

版本书写要求

  1. 版本可以v开头,比如 v1.0.1(v只是可选)
  2. 1.0.1-7,这里的7是所谓的“构建版本号”,不理是神马,反正版本大于1.0.1
  3. 1.0.1beta,或者1.0.1-beta,如果1.0.1后面不是 “连字符加数字” 这种形式,那么它是pre release 版本,即版本小于 1.0.1
  4. 根据b、c,有:0.1.2-7 > 0.1.2-7-beta > 0.1.2-6 > 0.1.2 > 0.1.2beta

CNPM

是什么?

因为npm安装插件是从国外服务器下载,受网络影响大,可能出现异常,如果npm的服务器在中国就好了,所以我们乐于分享的淘宝团队干了这事。
来自淘宝NPM镜像官网的说明:

“这是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。”

怎么用?

只需要在你的git bash或者mac的终端中输入一下命令即可:

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

说明

cnpm支持npm除了publish之外的所有命令,所以说你可以放心的使用cnpm来代替npm使用,这样可能使用包管理的时候更加的方便,因为服务器就在国内。但是,有时候如果你的网络情况比较渣的话,用啥都一样。

本文借鉴自:http://www.cnblogs.com/chyingp/p/npm.html?utm_source=tuicool&utm_medium=referralhttp://blog.csdn.net/shelly1072/article/details/51524029

相关文章

  • npm和cnpm区别

    npm(node package manager)是nodejs的包管理器。npm安装插件:命令提示符执行npm ...

  • npm和cnpm区别

    npm(node package manager)是node的包管理工具,关于npm的详细内容可以看一下NPM介绍...

  • cnpm与npm区别

    cnpm下,以下代码无效 需改为 npm,可以用这种方式

  • npm cnpm的区别

    npm ( node package manager ) 是nodejs 的包管理器,用于node插件管理 ( 包...

  • 复习笔记

    npm跟cnpm的区别: npm:是从国外服务器下载的 受网络影响大,可能出现异常cnpm:国内的 淘宝镜像...

  • 安装

    1.安装npm和cnpm 从官网安装npm 换成淘宝源 npm install -g cnpm --regist...

  • npm和cnpm

    npm作为包管理器来说相对来说比较好用,但是由于服务器不在国内所以有的时候速度会慢一点,今天小编就来安装一下淘宝团...

  • npm和cnpm

    npm介绍 1.说明:npm(node package manager)是nodejs的包管理器,用于node插件...

  • npm 和 cnpm

    npm 允许用户从NPM服务器下载别人编写的第三方包到本地使用。 允许用户从NPM服务器下载并安装别人编写的命令行...

  • npm和cnpm

    一、npm和cnpm 区别 npm是node的包管理工具,会把项目里所有的依赖项保存在package.json文件...

网友评论

    本文标题:npm和cnpm区别

    本文链接:https://www.haomeiwen.com/subject/gkuxuttx.html