NPM介绍和常用命令的使用(带示例)

1. NPM使用介绍

npm,全称为Node Package Manager,是随同NodeJS一起安装的包管理和分发工具,它很方便让JavaScript开发者下载、安装、上传以及管理已经安装的包。npm之于Node.js,就像pip之于Python,gem之于Ruby,pear之于PHP。

此外,npm还提供了很多其他的功能,例如:

  1. 版本管理:npm使用语义化版本控制(semver),可以轻松地管理和控制包的版本。
  2. 依赖管理:npm可以自动处理包之间的依赖关系,确保安装的包之间没有冲突。
  3. 脚本运行:npm可以在安装过程中运行自定义脚本,以便进行构建、测试等操作。
  4. 安全性:npm提供了严格的安全措施,包括代码签名和漏洞扫描等,以确保下载的包是安全的。
  5. 社区支持:npm拥有庞大的用户社区和丰富的资源,可以轻松地找到所需的包和解决方案。

由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以通过输入 "npm -v" 来测试是否成功安装。命令如下,出现版本提示表示安装成功:

复制代码
$ npm -v
2.3.0

如果你安装的是旧版本的 npm,可以很容易得通过 npm 命令来升级,命令如下:

复制代码
$ sudo npm install npm -g
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm@2.14.2 /usr/local/lib/node_modules/npm

如果是 Window 系统使用以下命令即可:

复制代码
npm install npm -g

使用淘宝镜像的命令:

复制代码
npm install -g cnpm --registry=https://registry.npmmirror.com

2. 常用命令

  1. npm init

    • 功能:初始化一个新的npm项目,生成一个package.json文件。
    • 示例:在命令行中执行npm init,然后根据提示输入项目信息,如项目名称、版本、描述等。
  2. npm install

    • 功能:根据项目中的package.json文件自动下载项目所需的全部依赖。
    • 示例:在命令行中执行npm install,npm会自动读取package.json文件并安装所需的依赖。
  3. npm install 包名 --save-dev

    • 功能:安装的包只用于开发环境,不用于生产环境,会出现在package.json文件中的devDependencies属性中。
    • 示例:执行npm install gulp --save-dev,会将gulp作为开发依赖安装,并添加到package.json的devDependencies中。
  4. npm install 包名 --save

    • 功能:安装的包需要发布到生产环境的,会出现在package.json文件中的dependencies属性中。
    • 示例:执行npm install express --save,会将express作为生产依赖安装,并添加到package.json的dependencies中。
  5. npm list

    • 功能:查看当前目录下已安装的node包。
    • 示例:在命令行中执行npm list,会显示当前项目已安装的所有包及其依赖关系。
  6. npm list -g

    • 功能:查看全局已经安装过的node包。
    • 示例:在命令行中执行npm list -g,会显示全局已安装的所有包及其依赖关系。
  7. npm update 包名

    • 功能:更新指定包到最新版本。
    • 示例:执行npm update express,会将express包更新到最新版本。
  8. npm uninstall 包名

    • 功能:卸载指定包。
    • 示例:执行npm uninstall gulp,会卸载已安装的gulp包。
  9. npm config list

    • 功能:查看npm的配置信息。
    • 示例:在命令行中执行npm config list,会显示当前npm的配置信息。
  10. npm info 包名

    • 功能:查看指定包的详细信息。
    • 示例:执行npm info express,会显示express包的详细信息,如版本号、描述、依赖等。
  11. npm search 字符串/正则表达式

    • 功能:搜索npm仓库中的包。
    • 示例:执行npm search express,会搜索与express相关的包并显示结果。
  12. npm logout

    • 功能:退出npm的登录状态。
    • 示例:在命令行中执行npm logout,会退出当前登录的npm账号。
  13. npm login

    • 功能:登录npm账号。
    • 示例:在命令行中执行npm login,然后根据提示输入用户名、密码和邮箱进行登录。
  14. npm whoami

    • 功能:查看当前登录的npm用户名。
    • 示例:在命令行中执行npm whoami,会显示当前登录的用户名。
  15. npm cache clean

    • 功能:清理npm缓存。
    • 示例:在命令行中执行npm cache clean,会清理npm的缓存数据。
  16. npm cache verify

    • 功能:检查npm缓存的有效性。
    • 示例:在命令行中执行npm cache verify,会验证npm缓存的数据是否有效。
  17. npm dist-tag 标签名 包名 / npm tag 包名 标签名(这两条命令功能相似)

    • 功能:给指定包添加或修改发布标签。发布标签用于标识包的版本,如"latest"、"next"等。默认情况下,"latest"标签指向包的最新版本。通过修改发布标签,可以控制用户通过不同标签安装不同版本的包。例如,你可以将"next"标签指向包的下一个版本,让用户通过安装带有"next"标签的包来尝试新版本的功能。这有助于进行版本管理和发布流程的控制。
    • 示例:假设你已经发布了一个名为"mypackage"的包的版本1.0.0和2.0.0,你可以使用以下命令将"next"标签指向2.0.0版本:npm dist-tag add mypackage@2.0.0 next然后,用户可以通过以下命令安装带有"next"标签的"mypackage"包。
  18. npm run-script 脚本名

    • 功能:运行在package.json中定义的脚本。

    • 示例:在package.json中定义了一个名为"start"的脚本,可以使用以下命令运行该脚本:npm run-script start

  19. npm doc 包名

    • 功能:查看指定包的文档。

    • 示例:执行npm doc express,会显示express包的官方文档。

  20. npm home 包名

    • 功能:查看指定包的官方文档首页。

    • 示例:执行npm home express,会打开express包的官方文档首页。

  21. npm bug 包名

    • 功能:查看指定包的bug列表。

    • 示例:执行npm bug express,会显示express包的bug列表。

  22. npm search 关键字

    • 功能:搜索npm仓库中的包。

    • 示例:执行npm search express,会搜索包含"express"关键字的npm包并显示结果。

  23. npm view 包名 字段[值]

    • 功能:查看指定包的指定字段值。例如,可以使用该命令查看包的版本号、作者等信息。

    • 示例:执行npm view express version,会显示express包的版本号。

  24. npm view 包名 version

    • 功能:查看指定包的版本号。

    • 示例:执行npm view express version,会显示express包的版本号。

  25. npm dedupe 包名

    • 功能:消除包之间的重复依赖。当一个项目依赖的多个包之间存在相同的依赖项时,可以使用该命令消除重复的依赖项,以减小项目的体积并避免潜在的冲突。

    • 示例:假设项目依赖的包A和包B都依赖于相同版本的lodash,可以使用以下命令消除重复的依赖项:npm dedupe lodash

  26. npm version minor / npm version major

    • 功能:更新包的版本号为次要版本(minor)或主要版本(major)。

    • 示例:执行npm version minor,会将当前包的版本号由1.0.0更新为1.1.0;执行npm version major,会将当前包的版本号由1.0.0更新为2.0.0。

  27. npm tag 包名@版本号

    • 功能:给指定版本的包添加标签。通过添加标签,可以标识特定版本的包,以便用户可以通过标签安装特定版本的包。

    • 示例:假设已经发布了一个名为"mypackage"的包的版本1.0.0,并且想要将该版本添加一个名为"v1"的标签,可以使用以下命令:npm tag mypackage@1.0.0 v1然后,用户可以通过以下命令安装带有"v1"标签的"mypackage"包的1.0.0版本:npm install mypackage@v1

  28. npm publish 包名

    • 功能:发布包到npm仓库。在发布之前,需要先在package.json中配置相应的信息,如名称、版本、描述等。发布时需要使用已经注册的npm账号登录。发布后,其他人可以通过npm install命令安装并使用该包。

    • 示例:假设已经完成了对一个名为"mypackage"的包的开发和测试,并且准备将其发布到npm仓库,可以使用以下命令进行发布:npm publish然后根据提示输入相关信息完成发布。

  29. npm unpublish 包名@版本号

    • 功能:从npm仓库中删除已发布的包。注意,这是一个敏感操作,一旦删除,将无法恢复。因此,在删除之前,请确保你真的需要这样做,并且已经通知了相关的使用者。

    • 示例:假设你想要删除已经发布的"mypackage"包的1.0.0版本,可以使用以下命令进行删除:npm unpublish mypackage@1.0.0

  30. npm link

    • 功能:创建一个符号链接,使得本地开发的包可以直接被其他项目引用。这对于开发和测试本地包非常有用。

    • 示例:假设你正在开发一个名为"my-local-package"的本地包,并且想要在其他项目中使用它,可以在"my-local-package"的根目录下执行npm link。然后,在需要使用该包的项目中执行npm link my-local-package,即可创建一个指向"my-local-package"的符号链接。

  31. npm outdated

    • 功能:检查当前项目中安装的包是否有更新的版本可用。

    • 示例:在项目的根目录下执行npm outdated,会显示当前项目中安装的包及其可用的更新版本信息。

  32. npm repo 包名

    • 功能:打开指定包的官方仓库页面。

    • 示例:执行npm repo express,会打开express包的官方仓库页面。

  33. npm help 命令名

    • 功能:查看指定命令的帮助信息。

    • 示例:执行npm help install,会显示install命令的帮助信息。

  34. npm completion

    • 功能:配置npm命令行的自动补全功能。这可以方便你在输入npm命令时快速补全命令和参数。

    • 示例:在命令行中执行npm completion,然后按照提示进行配置即可启用自动补全功能。

相关推荐
崔庆才丨静觅1 小时前
hCaptcha 验证码图像识别 API 对接教程
前端
passerby60612 小时前
完成前端时间处理的另一块版图
前端·github·web components
掘了2 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
崔庆才丨静觅2 小时前
实用免费的 Short URL 短链接 API 对接说明
前端
崔庆才丨静觅2 小时前
5分钟快速搭建 AI 平台并用它赚钱!
前端
崔庆才丨静觅3 小时前
比官方便宜一半以上!Midjourney API 申请及使用
前端
Moment3 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
崔庆才丨静觅3 小时前
刷屏全网的“nano-banana”API接入指南!0.1元/张量产高清创意图,开发者必藏
前端
剪刀石头布啊3 小时前
jwt介绍
前端
爱敲代码的小鱼3 小时前
AJAX(异步交互的技术来实现从服务端中获取数据):
前端·javascript·ajax