npm set npm set init-author-name 'Your name' npm set init-author-email 'Your email' npm set init-author-url 'http://yourdomain.com' npm set init-license 'MIT'
上面命令等于为npm init设置了默认值,以后执行npm init的时候,package.json的作者姓名、邮件、主页、许可证字段就会自动写入预设的值。这些信息会存放在用户主目录的~/.npmrc文件,使得用户不用每个项目都输入。
如果某个项目有不同的设置,可以针对该项目运行npm config。
1.
npm set save-exact true
上面命令设置加入模块时,package.json将记录模块的确切版本,而不是一个可选的版本范围。
2.
npm config get prefix
3.
npm config set prefix /usr/local
npm使用
安装:
npm install grunt-cli
安装之前,npm install会先检查,node_modules目录之中是否已经存在指定模块。如果存在,就不再重新安装了,即使远程仓库已经有了一个新版本,也是如此。
如果你希望,一个模块不管是否安装过,npm 都要强制重新安装,可以使用-f或--force参数。
本地安装: package会被下载到当前所在目录,也只能在当前目录下使用。安装结束后,当前目录下回多出一个node_modules目录,grunt-cli就安装在里面。
npm install -g grunt-cli
全局安装:package会被下载到到特定的系统目录下,安装的package能够在所有目录下使用。现在变成了/usr/local/lib/node_modules/grunt-cli,/usr/local/lib/node_modules/也就是之前所说的全局安装目录啦。
1.安装当前目录package.json文件中配置的devDependencies模块
npm install
2.安装本地的模块文件
npm install ./package.tgz
3.安装指定URL的模块
npm install https://github.com/indexzero/forever/tarball/v0.5.6
4.安装本地文件系统中指定的目录包含的模块
npm install <folder>
5.安装并更新package.json中的版本配置
npm install <name> [–save|–save-dev|–save-optional]
(1)添加–save 参数安装的模块的名字及其版本信息会出现在package.json的dependencies选项中
(2)添加–save-dev 参数安装的模块的名字及其版本信息会出现在package.json的devDependencies选项中
(3)添加–save-optional 参数安装的模块的名字及其版本信息会出现在package.json的optionalDependencies选项中
6.安装模块的指定版本
npm install <name>@<version> Example: npm install underscore@1.5.2
7.安装模块指定版本号范围内的某一个版本
npm install <name>@<version range>
Example:
npm install async@”>=0.2.0 <0.2.9″
–force强制拉取远程资源,即使本地已经安装这个模块
Example:
npm install underscore –force
8.-g或–global全局安装模块,如果没有这个参数,会安装在当前目录的node_modules子目录下
Example:
npm install -g express
如果你希望,所有模块都要强制重新安装,那就删除node_modules目录,重新执行npm install。
$ rm -rf node_modules $ npm install
更新
npm update [-g] [<name> [<name> … ]
更新指定name列表中的模块。-g参数更新全局安装的模块。
如果没有指定name,且不是在某个模块内,会更新当前目录依赖的所有包都会被更新(包括全局和模块内);如果当前目录在某个模块目录内,会更新该模块依赖的模块,所以不指定name直接运行npm update时,最好在某个模块内运行,以免更新到其他不想更新的模块。
卸载
npm uninstall package
查看
查看安装了那些包
npm ls --depth=0
查看特定包具体信息
npm ls grunt-cli npm info grunt-cli
搜索
npm search grunt-cli
发布
1.package.json
package.json说明:
npm命令运行时会读取当前目录的 package.json 文件和解释这个文件,这个文件基于 Packages/1.1规范。在这个文件里你可以定义你的应用名称( name )、应用描述( description )、关键字( keywords )、版本号( version )、应用的配置项( config )、主页( homepage )、作者( author )、资源仓库地址( repository )、bug的提交地址( bugs ),授权方式( licenses )、目录( directories )、应用入口文件( main )、命令行文件( bin )、应用依赖模块( dependencies )、开发环境依赖模块( devDependencies )、运行引擎( engines )和脚本( scripts )等。
对于开发者而言,开发和发布模块都依赖于他对这个文件 package.json 所包含的意义的正确理解。我们下面用一个本文共用的例子来说明: