使用 npm 管理包
npm 是官方的 node.js 包管理器,已包含在 nodejs 中.
npm是一个node包管理和分发工具,已经成为了非官方的发布node模块(包)的标准。有了npm,可以很快的找到特定服务要使用的包,进行下载、安装以及管理已经安装的包。
1、npm install moduleNames:安装Node模块
安装完毕后会产生一个node_modules目录,其目录下就是安装的各个node模块。
node的安装分为全局模式和本地模式。
一般情况下会以本地模式运行,包会被安装到和你的应用程序代码的本地node_modules目录下。
在全局模式下,Node包会被安装到Node的安装目录下的node_modules下。
全局安装命令为$npm install -g moduleName。
获知使用$npm set global=true来设定安装模式,$npm get global可以查看当前使用的安装模式。
示例:
npm install express
默认会安装express的最新版本,也可以通过在后面加版本号的方式安装指定版本,如npm install express@3.0.6
npm install <name> -g
将包安装到全局环境中
但是代码中,直接通过require()的方式是没有办法调用全局安装的包的。全局的安装是供命令行使用的,就好像全局安装了vmarket后,就可以在命令行中直接运行vm命令
npm install <name> --save
安装的同时,将信息写入package.json中项目路径中如果有package.json文件时,直接使用npm install方法就可以根据dependencies配置安装所有的依赖包,这样代码提交到github时,就不用提交node_modules这个文件夹了。
2、npm view moduleNames:查看node模块的package.json文件夹
注意事项:如果想要查看package.json文件夹下某个标签的内容,可以使用$npm view moduleName labelName
3、npm list:查看当前目录下已安装的node包
注意事项:Node模块搜索是从代码执行的当前目录开始的,搜索结果取决于当前使用的目录中的node_modules下的内容。$ npm list parseable=true可以目录的形式来展现当前安装的所有node包
4、npm help:查看帮助命令
5、npm view moudleName dependencies:查看包的依赖关系
6、npm view moduleName repository.url:查看包的源文件地址
7、npm view moduleName engines:查看包所依赖的Node的版本
8、npm help folders:查看npm使用的所有文件夹
9、npm rebuild moduleName:用于更改包内容后进行重建
10、npm outdated:检查包是否已经过时,此命令会列出所有已经过时的包,可以及时进行包的更新
11、npm update moduleName:更新node模块
12、npm uninstall moudleName:卸载node模块
13、一个npm包是包含了package.json的文件夹,package.json描述了这个文件夹的结构。访问npm的json文件夹的方法如下:
$ npm help json
此命令会以默认的方式打开一个网页,如果更改了默认打开程序则可能不会以网页的形式打开。
14、发布一个npm包的时候,需要检验某个包名是否已存在
$ npm search packageName
15、npm init:会引导你创建一个package.json文件,包括名称、版本、作者这些信息等
16、npm root:查看当前包的安装路径
npm root -g:查看全局的包的安装路径
17、npm -v:查看npm安装的版本
安装软件包
任何包可以用以下命令安装:
$ npm install packageName
这个命令会将包安装在当前目录下 node_modules
目录内,可执行命令(如果有)安装在 node_modules/.bin
目录下.
作为系统级的全局安装使用 -g
选项:
# npm -g install packageName
默认情形下这个命令会将包安装至 /usr/lib/node_modules/npm
,需要管理员权限.
作为个人用户级的安装您可以使用一个本地目录来配置 npm
。这可以通过多种方式完成:
- 在命令中添加
--prefix
标记 (e.g.npm -g install packageName --prefix ~/.node_modules
)。 - 使用
npm_config_prefix
环境变量。 - 使用用户配置文件
~/.npmrc
。
第一个方法已不被推荐因为您需要记住位置并且每次操作都需要添加参数。
第二个方法只是添加下列行到您的 shell 配置文件 (e.g. .bash_profile
)。
PATH=$PATH:~/.node_modules/bin export npm_config_prefix=~/.node_modules
不要忘记重新登录或重启您的 shell。
第三个方法您可以使用命令:
$ npm config edit
您可以找到 prefix
选项并且设置一个期望的位置:
prefix=~/.node_modules
不要忘记删除行前面的 ;
否则会被当作注释。
您现在可以添加可执行命令的位置到您的 shell 配置文件 (e.g. .bash_profile
)。
PATH=$PATH:~/.node_modules/bin
再次提示不要忘记重新登录或重启您的 shell。
更新包
更新包只需要执行
$ npm update packageName
对于全局环境安装的包 ( -g
)
# npm update -g packageName
更新所有包
有时您只希望更新所有包,去掉包名将试图更新所有包。
$ npm update
或者添加 -g
标记更新全局环境安装的包
# npm update -g
删除包
删除使用 -g
标记安装的包只须:
# npm -g uninstall packageName
若删除个人用户目录下的包去掉标记执行:
$ npm uninstall packageName
列出所有包
若要显示已安装的包的树形视图执行:
$ npm -g list