日期:2014-05-16  浏览次数:20380 次

nodejs包管理器npm使用知道

一、npm的配置管理。

参考:http://www.cnblogs.com/huang0925/archive/2013/05/17/3083207.html

?

?(1)、针对npm配置的命令行操作如下(可使用命令npm help config查询):

   npm config set <key> <value> [--global]
   npm config get <key>
   npm config delete <key>
   npm config list
   npm config edit
   npm get <key>
   npm set <key> <value> [--global]

? 在设置配置属性时属性值默认是被存储于用户配置文件中,如果加上--global,则被存储在全局配置文件中。

?

?(2)、在使用npm命令时候,获取配置属性有6种方式,优先级从1-6如下列表:

? ?1.命令行参数。在命令中加入--key value即可,如添加http代理:--proxy http://server:port。

? ?2.环境变量。以npm_config_“key”为前缀的环境变量被认为是npm的配置属性。如设置proxy可以加入这样的环境变量:npm_config_proxy=http://server:port。

? ?3.当前用户配置文件。

npm config get userconfig  -----  获取当前用户文件路径

? ? 通过命令npm config set key value保存到用户配置文件中。

? ?4.全局配置文件。

npm config get globalconfig  ---------- 获取全局文件路径

? ? 通过命令npm config set key value --global保存到全局配置文件中。

? ?5.内置配置文件。安装在npm目录下的npmrc文件。

? ?6.默认配置。npm本身有默认配置参数,如果以上5条都没设置,则npm会使用默认配置参数。

?

? (3)、如果查看npm的所有配置属性。

npm config ls -l 【注意:以;开头的为注释。】

?

二、由于国内网络的种种限制问题,直接运行npm install xxx安装模块支持的时候,有时会出现网络卡断,下载失败的情况,解决办法有2种:

(1)、通过代理服务器

? ? 前提说明: 配置http/https代理的方式结构参考(一)。这里要说明的是,如果需要用户名和密码认证的话,需要这样设置:?

npm config set proxy http://username:password@server:port
npm config set https-proxy http://username:password@server:port

? ? ?a>通过代理安装命令:

npm config set proxy http://server:port;
npm install express (-g);

? ? ?b>或者直接执行命令:

npm --proxy http://server:port install express (-g)

?

(2)、通过国内镜像地址(有网友自己搭建的npm资源库),可以绕过某些不必要的网络问题。如:http://registry.npmjs.vitecho.com(未测试可用性) 或者http://npm.stdyun.com(可用)。

npm --registry http://npm.stdyun.com install (-g) express

?

三、npm install xxx -g[全局安装] 和 不需要-g的区别。

?

1. npm install xxx -g 时, 模块将被下载安装到【全局目录】中。

【全局目录】通过 npm config set prefix "目录路径" 来设置。

全局目录的设置:

 npm config set prefix "路径"

也可以配置环境变量:添加npm_config_prefix属性即可。

?

2. npm install xxx ,则是将模块下载到当前命令行所在目录。

?

四、npm的常用命令

参考:http://www.cnblogs.com/xiziyin/archive/2012/01/21/2328473.html

? ? ? ? ? ?http://hi.baidu.com/alimyself/item/3ba5200faba0c7c92f4c6b43

npm install xxx 安装模块
npm install xxx@1.1.1   安装1.1.1版本的xxx
npm install xxx -g 将模块安装到全局环境中。
npm ls 查看安装的模块及依赖
npm ls -g 查看全局安装的模块及依赖
npm uninstall xxx  (-g) 卸载模块
npm cache clean 清理缓存
npm help xxx  查看帮助
npm?view?moudleName?dependencies  查看包的依赖关系
npm?view?moduleNames  查看node模块的package.json文件夹
npm?view?moduleName?labelName  查看package.json文件夹下某个标签的内容
npm?view?moduleName?repository.url  查看包的源文件地址
npm?view?moduleName?engines   查看包所依赖的Node的版本
npm?help?folders   查看npm使用的所有文件夹
npm?rebuild?moduleName    用于更改包内容后进行重建
npm?outdated?  检查包是否已经过时,此命令会列出所有已经过时的包,可以及时进行包的更新
npm?update?moduleName   更新node模块

? 更多命令参考:https://npmjs.org/doc/

?