标签:npm nodejs npm模块管理器 npm安装 npm使用
npm有两层含义。一层含义是Node.js的开放式模块登记和管理系统,网址为http://npmjs.org。另一层含义是Node.js默认的模块管理器,是一个命令行下的软件,用来安装和管理node模块。
npm不需要单独安装。在安装node的时候,会连带一起安装npm。但是,node附带的npm可能不是最新版本,最好用下面的命令,更新到最新版本。
npm采用”语义版本“管理软件包。所谓语义版本,就是指版本号为a.b.c的形式,其中a是大版本号,b是小版本号,c是补丁号。
# 将npm更新到最新版本
$ npm install npm@latest -g
$ npm install npm@0.1.1 -g
# 查看npm的版本和配置
$ npm -v
# npm命令列表
$ npm help
# 各个命令的简单用法
$ npm -l
# 配置信息
$ npm config list -l
# 查看每个模块的具体信息
$ npm info underscore
$ npm info underscore description
$ npm info underscore homepage
$ npm info underscore version
# npm仓库搜索某个模块
$ npm search <搜索词>
# 列出当前目录安装的所有模块
$ npm list
# 列出全局安装的所有模块
$ npm -global list
# npm list命令也可以列出单个模块。
$ npm list underscore
# “本地安装”某个模块
$ npm install <package name>
# npm也支持直接输入github地址
$ npm install git://github.com/package/path.git
$ npm install git://github.com/package/path.git#0.1.0
# 使用global参数,可以“全局安装”某个模块
$ sudo npm install -global [package name]
npm install默认会安装dependencies字段和devDependencies字段中的所有模块,如果使用production参数,可以只安装dependencies字段的模块。
$ npm install --production
# 或者
$ NODE_ENV=production npm install
# 升级本地安装的模块
npm update -global [package name]
# 删除本地安装的模块
sudo npm uninstall [package name] -global
npm不经可以用于模块管理,还可以用于执行脚本。package.json文件有一个scripts字段,可以用于指定脚本命令,供npm直接调用。
"scripts": {
"lint": "jshint **.js",
"test": "mocha test/"
}
# 列出scripts属性下的所有命令
npm run
# 执行lint脚本
npm run lint
npm run会创建一个shell,执行指定的命令,并将node_modules/.bin加入PATH变量,这意味着本地模块可以直接运行。也就是说,npm run lint直接运行jshint .js即可,而不用./node_modules/.bin/jshint .js。
注意:npm内置了两个命令简写,npm test等同于执行npm run test,npm start等同于执行npm run start。
npm在执行某些命令时,会执行一些默认脚本(前提是这些脚本已经设置了)。
prestart, start, poststart:运行npm start命令时执行。
prerestart, restart, postrestart:运行npm restart命令时执行。如果没有设置restart脚本,则依次执行stop和start脚本。
npm run为每条命令提供了pre和post两个钩子(hook)。以npm run lint为例,执行这条命令之前,npm会先查看有没有定义prelint和postlint两个钩子,如果有的话,就会先执行npm run prelint,然后执行npm run lint,最后执行npm run postlint。
如果执行过程出错,就不会执行排在后面的脚本,即如果prelint脚本执行出错,就不会接着执行lint和postlint脚本。
另外,不能在pre脚本之前再加pre,即preprelint脚本不起作用。
scripts字段可以使用一些内部变量,主要是package.json的各种字段。
比如,package.json的内容是{“name”:”foo”, “version”:”1.2.5”},那么变量npm_package_name的值是foo,变量npm_package_version的值是1.2.5。
{
"scripts":{
"bundle": "mkdir -p build/$npm_package_version/"
}
}
(1)设定个人信息
$ npm set init.author.name "ligang"
$ npm set init.author.email "ligang_WEB@163.com"
$ npm set init.author.url "https://github.com/381510688/my-git"
(2)向npm系统申请用户名
$ npm adduser
(3)登录
$ npm login
(4)<非第一次>要发布新版本的时候,更新软件的版本
$ npm version <update_type> -m "<message>"
npm version patch增加一位补丁号(比如 1.1.1 -> 1.1.2)
npm version minor增加一位小版本号(比如 1.1.1 -> 1.2.0)
npm version major增加一位大版本号(比如 1.1.1 -> 2.0.0)。
(5)发布
$ npm publish
[转载请标明出处:http://blog.csdn.net/ligang2585116]
版权声明:本文为博主原创文章,未经博主允许不得转载。转载请标明出处:http://blog.csdn.net/ligang2585116!
标签:npm nodejs npm模块管理器 npm安装 npm使用
原文地址:http://blog.csdn.net/ligang2585116/article/details/47703291