Node.js包的依赖及版本号(转)

原文:  http://www.cnphp6.com/archives/64130

Node.js最重要的一个文件就是package.json,其中的配置参数决定了功能。例如下面就是一个例子

{
  "name": "test",
  "version": "1.0.0",
  "description": "test",
  "main": "main.js",
  "keywords": [
    "test"
  ],
  "author": "wade",
  "license": "MIT",
  "dependencies": {
    "express": "^4.10.1"
  },
  "devDependencies": {
    "jslint": "^0.6.5"
  }
}

dependencies与devDependencies:

一个node package有两种依赖,一种是dependencies,另一种是devDependencies,其中前者依赖的项是正常运行该包时所需要的依赖项,而后者则是开发的时候需要的依赖项,像一些进行单元测试之类的包。简单来记就是下面的

“dependencies”: {}       //生产环境

“devDependencies”: {}  //开发环境

在package.json所在目录执行npm install的时候,devDependencies里面的模块也会被安装的。如果我们只想安装dependencies里面的包,可以执行

npm install –production

如果只安装devDependencies,可以执行

npm install –dev

同理,使用npm install node_module –save自动更新dependencies字段值,使用npm install node_module –save-dev自动更新devDependencies字段值。

版本号:

每一个模块后面对应的就是他的版本号,如”^4.10.1″。下面是几个版本的表达式

表达式 版本范围
>=1.2.7 大于等于1.2.7
>=1.2.7 <1.3.0 1.2.7,1.2.8,1.2.9
1.2.3 – 2.3.4 >=1.2.3 <=2.3.4
1.2 – 2.3.4 >=1.2.0 <=2.3.4
1.2.3 – 2.3 >=1.2.3 <2.4.0
1.2.3 – 2 >=1.2.3 <3.0.0
* >=0.0.0
1.x(等价于1.X) >=1.0.0 <2.0.0
1.2.x >=1.2.0 <1.3.0
“”(等价于*) >=0.0.0
1(等价于1.x.x) >=1.0.0 <2.0.0
1.2(等价于1.2.x) >=1.2.0 <1.3.0
~1.2.3(>=1.2.3 <1.(2+1).0) >=1.2.3 <1.3.0
~1.2(>=1.2.0 <1.(2+1).0) >=1.2.0 <1.3.0
~1(>=1.0.0 <(1+1).0.0) >=1.0.0 <2.0.0
~0.2.3(>=0.2.3 <0.(2+1).0) >=0.2.3 <0.3.0
~0.2(>=0.2.0 <0.(2+1).0) >=0.2.0 <0.3.0
~0(>=0.0.0 <(0+1).0.0) >=0.0.0 <1.0.0
~1.2.3-beta.2 >=1.2.3-beta.2 <1.3.0
^1.2.3 >=1.2.3 <2.0.0
^0.2.3 >=0.2.3 <0.3.0
^0.0.3 >=0.0.3 <0.0.4
^1.2.3-beta.2 >=1.2.3-beta.2 <2.0.0
^0.0.3-beta >=0.0.3-beta <0.0.4
^1.2.x >=1.2.0 <2.0.0
^0.0.x >=0.0.0 <0.1.0
^0.0 >=0.0.0 <0.1.0
^1.x >=1.0.0 <2.0.0
^0.x >=0.0.0 <1.0.0

参考文献:

http://stackoverflow.com/questions/22343224/difference-between-tilde-and-caret-in-package-json

https://www.npmjs.org/doc/misc/npm-config.html#production

时间: 2024-12-28 11:59:02

Node.js包的依赖及版本号(转)的相关文章

Meteor: 如何复用node.js包或代码

Meteor基于Node.js,但是却有自己的包管理系统(atmosphere)以及代码加载机制,且meteor是非异步的,这些都意味着,node.js包(npm package)和代码通常不能直接用于meteor程序. 这里分享三种方法以在meteor中复用node.js包和代码. meteorhacks:npm + meteorhacks:async npm+async是复用npm包最便捷的方式.meteor程序添加npm包之后,便可以在packages.json中声明包依赖,在程序中通过M

Node.js包管理器Yarn的入门介绍与安装

FAST, RELIABLE, AND SECURE DEPENDENCY MANAGEMENT. 就在昨天, Facebook 发布了新的 node.js 包管理器 Yarn 用以替代 npm .咱虽然是个半桶水的咸鱼前端,不过也得跟上 Javascript 这股潮 (hong) 流 (huang) 的脚步,所以便有了下面这篇文章.大概的浅尝了一下这个自称是又快又可信赖又安全的包管理,所以写的内容不会很详细,更多的可能只是针对这个全新的包管理与 npm 的不同之处来对比.也可能有些地方写得不对

9.Node.js 包管理器npm

npm 是 Node.js  官方提供的包管理工具, 用于 Node.js包的发布.传播.依赖控制 安装 express ==> 流行的基于Node.js的Web开发框架,可以快速地搭建一个完整功能的网站. $ npm install express 包的发布 , 创建符合 npm  规范的 package.json  文件 $ npm init 输入命令后,会生成package.json文件 package name: (byvoidmodule) alan version: (1.0.0)

node.js教程基础:node.js包管理器

Node.js 包管理器 Node程序包管理器提供了两个主要功能: 1) 它提供了可在search.nodejs.org上搜索的node.js软件包/模块的在线存储库. 2) 它还提供了命令行实用程序,用于安装Node.js软件包,执行版本管理和Node.js软件包的依赖关系管理. 在v0.6.3之后的版本中,npm与Node.js可安装程序捆绑在一起. 您可以通过打开Node.js命令提示符并键入以下命令来检查版本: npm version 使用npm安装模块 以下是安装任何Node.js模块

关于《Node.js 包教不包会》中cookie 与 session的补充

刚开始学node,在看到Lesson 16: <cookie 与 session>中关于在 redis 中存储 session中,直接按照博主的代码是不能运行的,当时很苦恼,挺郁闷的,直接copy都运行不了.... 经过一顿搜索以后才知道,要安装redis! redis的安装可以参考:http://blog.fens.me/linux-redis-install/  中的 2.Redis在Linux Ubuntu中安装 (我是成功安装,并且运行) 还有关于redis的常用命令,可以看一下:ht

Node.js包

 1.app.js 2.m_p包下package.json 3.index.js  入口模块

Node.js包管理器:

当我们要把某个包作为工程运行的一部分时,通过本地模式获取,如果要在命令行下使用,则使用全局模式安装 使用全局模式安装的包并不能直接在JavaScript文件中用require获得,因为require不会搜索/usr/local/lib/node_modules/ 创建全局链接:npm link (windows不支持npm link) 它的功能是在本地包和全局包之间创建符号链接,例如,我们已经通过npm install -g express 安装了express ,这时在工程 目录下,运行命令:

Node.js 依赖管理(一)—区分dependencies和devDependencies

原文链接:https://www.novenblog.xin/detail/?id=65 本文拜读百度@小蘑菇哥哥的Node.js 中的依赖管理,正文从这里开始- nodejs 中总共有 5 种依赖: 1.dependencies 2.devDependencies (常用) 3.peerDependencies (不太常用) 4.bundledDependencies (我之前没用过) 5.optionalDependencies (我之前没用过) 本文主要是记录dependencies和de

node.js之mysql包使用说明

作者:zhanhailiang 日期:2014.11.16 本文将讲解如何在node.js平台上依赖mysql包实现对mysql的访问. 1. 安装: [root@~/wade/nodejs/nodebeginner/mysql_test]# npm install mysql 2. 基于mysql包实现对mysql的连接和查询: [root@~/wade/nodejs/nodebeginner/mysql_test]# cat mysqltest.js var mysql = require(