npm 是 Node.js 的标准的包管理工具。 Node.js 项目开发往往会使用 npm 来管理依赖,当然你也可以使用其他包管理器,例如 Yarn(https://yarn.bootcss.com/),pnpm(https://www.pnpm.cn/) 等。
准备工作
安装和检查版本
安装 Node.js 时会自动安装 npm。如果你还未安装 Node.js,请先安装 Node.js。
npm 的更新频率往往会比 Node.js 高,你可以通过以下命令来检查 npm 版本:
npm -v
# 我当前的版本是 10.2.5
升级 npm
可以通过下面的命令将 npm 更新到最新版本:
npm install npm@latest -g
初始化项目
一个 package.json 文件会列出项目所依赖的软件包,并且可以通过语义化的规则来控制软件包的版本,这十分有利于项目的合作和共享。一个 package.json 文件必须拥有 "name" 和 "version"。
可以通过下面的命令在当前目录生成 package.json 文件:
npm init
该命令还可以使用 --yes 标志,根据当前目录信息生成默认值。
npm init --yes
# 效果同上
npm init -y
你可以在 package.json 文件中指定一些任务,通过以下方式运行:
npm run <任务名称>
本地安装
关于依赖项
依赖项有以下两类:
dependencies: 项目在生产环境下需要的软件包。
devDependencies: 仅在开发和测试环境下需要的软件包。
安装本地包
该操作会将包安装到当前文件夹中的 node_modules 文件中
你可以通过下面的方式将依赖项添加到 package.json 的 dependencies:
npm install <包名> --save
# 效果同上
npm install <包名>
# 安装包的对应版本 x.x.x
npm install <包名@版本号>
同样的,你也可以将依赖项添加到 devDependencies 中:
npm install <包名> --save-dev
# 效果同上
npm install <包名> -D
安装 package.json 文件中的所有依赖,可以通过下面的方式:
# 安装项目中的包
npm install
# 在生产环境下
npm install --production
更新本地包
定期更新依赖可以保证你的项目处于最新状态,当然,有可能会遇到一堆麻烦
你可以在 package.json 文件所在目录执行下面的命令:
npm update
在此之前可以你可以通过下面的方式检查安装的软件包的版本:
npm outdated
在你执行完npm update,该命令应没有任何输出。
卸载本地包
卸载的操作与安装基本类似,只需要将 install 变成 uninstall。
只是从 node_modules 目录中删除包:
npm uninstall <包名>
同时从 package.json 文件中删除依赖:
npm uninstall --save <包名>
作为 devDependency 安装的需要通过 --save-dev 参数才可以卸载:
npm uninstall --save-dev <包名>
删除当前项目文件所有依赖
# 可用性存疑
npm uninstall *
卸载完成后,你可以查看 node_modules 目录下对于包的目录已经不见了
全局安装
安装全局包
例如对于一个命令行工具,你可能想将其安装到全局,这样你可以在任何目录下使用这个包:
npm install -g <包名>
# 效果同上
npm install --global <包名>
你可以通过下面的命令查看全局安装的路径:
npm root -g
更新和卸载全局包
找出需要更新的软件包:
npm outdated -g --depth=0
更新某个全局软件包:
npm update -g <包名>
更新所有的全局软件包:
npm update -g
卸载某个全局包:
npm uninstall -g <包名>
理解包和模块
Node.js 和 npm 有着对包(packages)和模块的定义(modules),但是很容易混淆它们。看看官网的解释:
A package is a file or directory that is described by a package.json. A module is any file or directory that can be loaded by Node.js' require().
一个通过 package.json 描述的项目就是包,任何可以被 Node.js 的 require() 加载的就是模块。
因此大部分 npm 软件包都是模块,但这不是必须的。
参考资料:
Node.js 中文文档(http://nodejs.cn/api/)
npm 中文文档(https://www.npmjs.cn/)
看得透又看得远者prevail. ppt.cc/flUmLx ppt.cc/fqtgqx ppt.cc/fZsXUx ppt.cc/fhWnZx ppt.cc/fnrkVx ppt.cc/f2CBVx
ppt.cc/fKlBax ppt.cc/fwlgFx ppt.cc/fVjECx ppt.cc/fEnHsx ppt.cc/fRZTnx ppt.cc/fSZ3cx ppt.cc/fLOuCx ppt.cc/fE9Nux ppt.cc/fL5Kyx ppt.cc/f71Yqx tecmint.com linuxcool.com linux.die.net linux.it.net.cn ostechnix.com unix.com ubuntugeek.com runoob.com man.linuxde.net ppt.cc/fwpCex ppt.cc/fxcLIx ppt.cc/foX6Ux linuxprobe.com linuxtechi.com howtoforge.com linuxstory.org systutorials.com ghacks.net linuxopsys.com ppt.cc/ffAGfx ppt.cc/fJbezx ppt.cc/fNIQDx ppt.cc/fCSllx ppt.cc/fybDVx ppt.cc/fIMQxx
Total Pageviews
Sunday, 14 December 2025
快速上手npm
Labels:
nodejs
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment