阅读 583,2017年06月04日 发布,来源:blog.ihoey.com
什么是 NPM
npm
之于 Node
,就像 pip
之于 Python
, gem
之于 Ruby
, pear
之于 PHP
。
npm
是 Node
官方提供的包管理工具,他已经成了 Node
包的标准发布平台,用于 Node
包的发布、传播、依赖控制。npm
提供了命令行工具,使你可以方便地下载、安装、升级、删除包,也可以让你作为开发者发布并维护包。
为什么要使用 NPM
npm
是随同 Node
一起安装的包管理工具,能解决 Node
代码部署上的很多问题,常见的场景有以下几种:
- 允许用户从
npm
服务器下载别人编写的第三方包到本地使用。 - 允许用户从
npm
服务器下载并安装别人编写的命令行程序到本地使用。 - 允许用户将自己编写的包或命令行程序上传到
npm
服务器供别人使用。
npm
的背后,是基于 CouchDB
的一个数据库,详细记录了每个包的信息,包括作者、版本、依赖、授权信息等。它的一个很重要的作用就是:将开发者从繁琐的包管理工作(版本、依赖等)中解放出来,更加专注于功能的开发。
如何使用 NPM
安装
npm
不需要单独安装。在安装 Node
的时候,会连带一起安装 npm
。但是,Node
附带的 npm
可能不是最新版本,最后用下面的命令,更新到最新版本。
1 |
$ sudo npm install npm@latest -g |
如果是 Window 系统使用以下命令即可:
1 |
npm install npm -g |
也就是使用 npm
安装自己。之所以可以这样,是因为 npm
本身与 Node
的其他模块没有区别。
然后,运行下面的命令,查看各种信息。
1 2 3 4 5 6 7 8 9 10 11 |
# 查看 npm 命令列表 $ npm help # 查看各个命令的简单用法 $ npm -l # 查看 npm 的版本 $ npm -v # 查看 npm 的配置 $ npm config list -l |
使用
npm init
npm init
用来初始化生成一个新的 package.json
文件。它会向用户提问一系列问题,如果你觉得不用修改默认配置,一路回车就可以了。
如果使用了 -f
(代表force
)、-y
(代表yes
),则跳过提问阶段,直接生成一个新的 package.json
文件。
1 |
$ npm init -y |
npm set
npm set
用来设置环境变量
1 2 3 4 |
$ 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
。
npm info
npm info
命令可以查看每个模块的具体信息。比如,查看 underscore
模块的信息。
1 |
$ npm info underscore |
上面命令返回一个 JavaScript
对象,包含了 underscore
模块的详细信息。这个对象的每个成员,都可以直接从 info
命令查询。
1 2 3 4 5 |
$ npm info underscore description $ npm info underscore homepage $ npm info underscor |