一、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 文件
代码语言:txt复制cd <项目根目录>
npm init
2、使用 npm 下载安装包
代码语言:txt复制# 安装需要使用的包
npm install lodash
# 安装完成后,package.json 中会添加版本信息,如下:
{
"dependencies": {
"lodash": "^1.0.0"
}
}
3、使用安装的包
代码语言:txt复制var lodash = require('lodash');
var output = lodash.without([1, 2, 3], 1);
console.log(output);
4、更新包
代码语言:txt复制# 法一:根据版本号更新
npm install lodash@版本号
# 法二:更新最新版本
npm install lodash
npm install lodash@latest
# 法三:修改 package.json 中包的版本号,下一次npm install会自动更新会修改后的版本。
三、常用命令
1、常用命令
用 lodash 包说明npm的使用方法:
代码语言:txt复制# 全局安装 lodash
npm install -g lodash
# 本地安装 lodash(默认安装最新版本)
npm install lodash
npm install lodash@latest
# 安装指定版本
npm install lodash@1.0.0
# 卸载
npm uninstall lodash
# 查看已安装
npm ls
# 更新 lodash 到最新版本
npm update lodash
# 搜索 lodash
npm search lodash
四、作用域
1、无作用域的包
代码语言:txt复制var lodash = require('lodash');
var output = lodash.without([1, 2, 3], 1);
console.log(output);
代码语言:txt复制// package.json 中版本情况
{
"dependencies": {
"lodash": "^1.0.0"
}
}
2、有作用域的包
代码语言:txt复制var projectName = require("@scope/package-name")
代码语言:txt复制// 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..... 可以先清除再重新安装:
代码语言:txt复制npm cache clean
npm 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的安装与使用!