一、npm 是啥?
- npm(全称 Node Package Manager)是一个软件包管理系统,专门治理用 JavaScript 编写的软件包。能够收费下载他人写好的 js软件包,并用到我的项目中,当然也能够上传共享本人写的 js软件包。
- Node.js 内置了npm,只有装置了node.js,就能够间接应用 npm,Node.js的装置形式,看这里!
装置完 node.js 后,把npm更新到最新版本:
npm install npm@latest -g
二、我的项目中应用 npm
1、初始化
依据提醒填写对应信息,即可产生package.json 文件
cd <我的项目根目录>npm init
2、应用 npm 下载安装包
# 装置须要应用的包npm install lodash# 装置实现后,package.json 中会增加版本信息,如下:{ "dependencies": { "lodash": "^1.0.0" }}
3、应用装置的包
var lodash = require('lodash');var output = lodash.without([1, 2, 3], 1);console.log(output);
4、更新包
# 法一:依据版本号更新npm install lodash@版本号# 法二:更新最新版本npm install lodashnpm install lodash@latest# 法三:批改 package.json 中包的版本号,下一次npm install会自动更新会批改后的版本。
三、常用命令
1、常用命令
用 lodash 包阐明npm的应用办法:
# 全局装置 lodashnpm install -g lodash# 本地装置 lodash(默认装置最新版本)npm install lodashnpm install lodash@latest# 装置指定版本npm install lodash@1.0.0# 卸载npm uninstall lodash # 查看已装置npm ls # 更新 lodash 到最新版本npm update lodash # 搜寻 lodashnpm search lodash
四、作用域
1、无作用域的包
var lodash = require('lodash');var output = lodash.without([1, 2, 3], 1);console.log(output);
// package.json 中版本状况{ "dependencies": { "lodash": "^1.0.0" }}
2、有作用域的包
var projectName = require("@scope/package-name")
// package.json 中版本状况{ "dependencies": { "@scope/package_name": "^1.0.0" }}
五、常见谬误
1、Error: Cannot find module
当呈现如下谬误提醒,示意 packages 没有被装置:
module.js:340 throw err; ^Error: Cannot find module 'lodash'
解决方案:
# 无作用域包装置npm install <package_name># 有作用域包装置npm install <@scope/package_name>
2、装置出错
谬误提醒:npm resource busy or locked..... 能够先革除再重新安装:
npm cache cleannpm install
六、版本控制符
版本号有三位数字组成(譬如:1.2.3),1
示意主版本、1.2
示意主要版本、1.2.3
示意补丁版本。
^
示意用于确定主版本号、 ~
用于确定主版本号 + 主要版本号;
^1
:等同于1.x.x
, 以1
结尾的所有版本;~2.2
:等同于2.2.x
,以2.2
结尾的所有版本。~2.2.1
:以2.2
结尾,且最初一位 补丁号≥1 的所有版本,即2.2.1
与2.2.9
之间版本,包含头尾。
// 可应用在package.json中"dependencies": { "my_dep": "^1.0.0", "another_dep": "~2.2.0"},
七、参考文档
- npm的装置与应用!