安装所有依赖
如果项目具有 package.json 文件,运行
npm install 或 npm i
会下载package.json里的依赖,依赖会安装到node_modules
安装单个应用
npm install <package-name> //默认 --save方式
- –save 安装并添加条目到 package.json 文件的 dependencies。
- –save-dev 安装并添加条目到 package.json 文件的 devDependencies。
devDependencies 通常是开发的工具(例如测试的库),而 dependencies 则是与生产环境中的应用程序相关。
更新
npm update //检查并更新所有
npm update <package-name> //更新指定的包
运行任务
//运行react
npm run start
安装位置
默认情况下会被安装到当前文件树中的 node_modules 子文件夹下。
如果运行npm install -g
包名,这种情况npm 不会将软件包安装到本地文件夹下,而是使用全局的位置
运行npm root -g
获取全局位置
使用
通常安装的依赖可以通过import
或 require
进行引入。如果软件包是可执行文件可以运行npx
程序名
package.json属性
package.json 文件是项目的清单。它也是 npm 和 yarn 存储所有已安装软件包的名称和版本的地方
- name: 软件包名称
名称必须少于 214 个字符,且不能包含空格,只能包含小写字母、连字符(-)或下划线(_) - author:作者
- contributors:贡献者,数组格式
- homepage:设置软件包的url主页地址
- version:版本
版本始终以 3 个数字表示:x.x.x。第一个数字是主版本号,第二个数字是次版本号,第三个数字是补丁版本号。 - license:软件包许可证
- keywords:此属性包含与软件包功能相关的关键字数组
- description:对软件包的简短描述
- repository:指定此程序包仓库所在的位置
- main:软件包的入口点。
当在应用程序中导入此软件包时,应用程序会在该位置搜索模块的导出 - private:是否私有,私有情况下不会发布到npm上
- scripts:对象,定义一组可以运行的 node 脚本
- dependencies:设置作为依赖安装的 npm 软件包的列表
- devDependencies:设置作为开发依赖安装的 npm 软件包的列表
- engines:设置此软件包/应用程序要运行的 Node.js 或其他命令的版本
"engines": {
"node": ">= 6.0.0",
"npm": ">= 3.0.0",
"yarn": "^0.13.0"
}
package-lock.json
- lock是锁的意思,package-lock.json 会固化当前安装的每个软件包的版本,当运行 npm install时,npm 会使用这些确切的版本。
- package-lock.json 文件需要被提交到 Git 仓库,以便被其他人获取
- 当运行 npm update 时,package-lock.json 文件中的依赖的版本会被更新
查看npm安装依赖包的版本
若要查看所有已安装的 npm 软件包(包括它们的依赖包)的最新版本,则
npm list //列出所有
npm list -g //列出全局安装的软件包。
npm list 包名 //列出指定的包
npm view 包名 verson //查看指定包在npm上可用的最新版本
安装指定版本的包
npm install 包名@版本
全局包需要加上 -g
,可用配合npm view
使用
卸载软件包
npm uninstall 包名
如果使用 -S 或 --save 标志,则此操作还会移除 package.json 文件中的引用。
如果程序包是开发依赖项(列出在 package.json 文件的 devDependencies 中),则必须使用 -D 或 --save-dev 标志从文件中移除
如果该软件包是全局安装的,则需要添加 -g 或 --global