深入浅出:npm常用命令详解与实战

news/2024/7/7 20:44:28 标签: npm, node.js, javascript, 前端

theme: smartblue

动物 (11).jpg

在这里插入图片描述

npm_10">npm是什么

npm(Node Package Manager)是Node.js平台的默认包管理器,它让JavaScript开发者能够轻松地共享、管理和使用彼此编写的代码模块。npm不仅仅是一个安装工具,它还是一个全面的生态系统,用于发布、发现、安装和管理Node.js项目的依赖关系。

以下是npm的一些核心功能和特点:

  1. 包管理和依赖解决:npm帮助开发者管理项目中所依赖的各种模块及其版本,自动解决依赖关系,避免版本冲突。
  2. 全球最大的包仓库:npm拥有世界上最大的开源软件包注册表,截至某个时间点(例如2022年9月),注册表中列出了超过210万个软件包,涵盖从简单的工具函数到完整的应用程序框架等广泛类别。
  3. 命令行工具:npm提供了一个强大的命令行界面(CLI),通过这个界面,开发者可以安装、更新、卸载包,管理项目的依赖关系,初始化新项目,发布自己的包到npm仓库等。
  4. 版本控制:npm支持语义化版本控制,使得开发者能够指定依赖包的确切版本或版本范围,确保项目在不同环境中的一致性和稳定性。
  5. 脚本执行:package.json文件中的"scripts"字段允许定义自定义脚本,npm可以执行这些脚本,便于自动化构建、测试、部署等任务。
  6. 工作空间管理:对于包含多个相互依赖的包的大型项目,npm支持工作空间(workspaces)功能,便于统一管理和协调这些包的依赖和版本。
  7. 私有和企业解决方案:除了公共仓库,npm还为企业和个人提供了私有仓库选项,以便内部团队之间共享和管理私有包。

npm_24">npm常用命令

npm 提供了一系列丰富的命令行工具来帮助开发者管理项目和包依赖。以下是一些常用的 npm 命令及其简要说明:

  1. npm install: 用于安装项目依赖。不带参数时,会安装 package.json 文件中列出的所有依赖。可以通过提供包名来安装特定的包。
  2. npm uninstall: 卸载指定的包。需要提供包名作为参数。
  3. npm update: 更新项目的依赖到最新版本。可以更新所有依赖或指定的单个包。
  4. npm init: 用于初始化一个新的 npm 项目,创建 package.json 文件。这个命令会引导用户填写项目信息,如名称、版本、作者等。
  5. npm start: 默认的脚本命令,通常用于启动开发服务器或运行项目。具体行为取决于 package.json 中 “scripts.start” 的定义。
  6. npm run: 执行 package.json 文件中 “scripts” 字段定义的脚本命令。后面跟脚本的名称,如 npm run build。
  7. npm test: 运行项目的测试套件。同样,实际执行的命令由 “scripts.test” 定义。
  8. npm publish: 发布当前项目到 npm 仓库,使其可供其他人安装。只有在项目有正确的权限和配置下才能使用。
  9. npm ls 或 npm list: 列出项目的依赖树,展示已安装的本地和全局包。
  10. npm cache clean: 清理 npm 的本地缓存。有助于解决因缓存问题导致的安装错误。
  11. npm config: 管理 npm 的配置。可以查看、设置或删除配置项,例如设置 registry 源。
  12. npm outdated: 检查项目依赖是否为最新版本,显示哪些包有更新可用。
  13. npm install --save: 安装包并将它添加到 package.json 的 dependencies 列表中,用于生产环境依赖。
  14. npm install --save-dev: 类似于 --save,但将包添加到 devDependencies 列表中,用于开发环境依赖。

实战应用

了解这些命令的使用方法对于日常开发至关重要。下面和大家分享一些 npm 常用命令的实际使用示例:

1. 初始化项目

当你开始一个新的 Node.js 项目时,首先需要创建一个 package.json 文件来管理项目的元数据和依赖。使用 npm init 命令可以做到这一点:

npm init

这个命令会提示你输入项目的信息(如名称、版本、描述等),或者你可以通过 npm init --yes 快速生成默认的 package.json 文件。

2. 安装依赖

安装一个名为 express 的包作为项目的依赖:

npm install express

这会安装 express 并将其添加到 dependencies 列表中。如果是要安装开发依赖(比如测试框架 mocha):

npm install mocha --save-dev

3. 运行脚本

假设你的 package.json 文件中定义了一个名为 start 的脚本:

"scripts": { "start": "node server.js" }

你可以通过以下命令来运行这个脚本:

npm start

4. 更新依赖

更新所有依赖到最新版本(谨慎操作,可能引入不兼容变更):

npm update

或者只更新特定的包,比如 express:

npm update express

5. 查看依赖

查看已安装的全部依赖及其版本:

npm list

查看是否有依赖包需要更新:

npm outdated

6. 发布包

如果你开发了一个想要分享给社区的包,可以使用 npm publish 命令发布到 npm 仓库。确保你已经在 npmjs.com 上注册了账号,并且当前目录下有正确的 package.json 文件。

npm publish

请注意,一旦发布,就不能修改已发布的版本,只能发布新的版本号。

7. 卸载包

如果你不再需要某个包,可以使用 npm uninstall 命令来移除它。例如,卸载之前安装的 mocha:

npm uninstall mocha

8. 查看包信息

想要了解某个包的详细信息,如版本、作者、许可证等,可以使用 npm view 命令:

npm view express

9. 搜索包

如果你想找一个满足特定需求的包,可以使用 npm search 命令进行搜索。比如,寻找与 “websocket” 相关的包:

npm search websocket

10. 清理缓存

有时候,由于缓存问题可能会导致安装失败或异常,使用 npm cache clean --force(在 npm v6 中)或 npm cache clean --force(在 npm v7 及以后版本中)来清理缓存:

npm cache clean --force

11. 设置镜像源

在中国大陆地区,为了加速 npm 包的下载速度,通常会设置 npm 镜像源。可以使用 npm config 命令设置:

npm config set registry https://registry.npm.taobao.org

12. 查看 npm 配置

如果你想查看当前的 npm 配置信息,可以使用:

npm config list

http://www.niftyadmin.cn/n/5535185.html

相关文章

k8s_如何配置 containerd 使用镜像加速拉取docker.io上的镜像

在 Kubernetes 使用 containerd 作为容器运行时,可以通过配置 containerd 来使用镜像网站(镜像仓库)拉取镜像。这可以通过修改 containerd 的配置文件来实现。以下是详细步骤: 步骤 1:安装 containerd (如果已安装,这一步略过) 如果尚未安装 containerd,可以使用以下命…

阿里云centos7.9 挂载数据盘到 www目录

一、让系统显示中文 参考:centos7 怎么让命令行显示中文(英文->中文)_如何在命令行中显示中文-CSDN博客 1、输入命令:locale -a |grep "zh_CN" 可以看到已经存在了中文包 2、输入命令:sudo vi…

树状数组基础知识

lowbit: lowbit(x)x&(-x) 树状数组: 树状数组的功能: 数组 在O(1)的时间复杂度实现单点加: 在O(lng n)的时间复杂度实现查询前缀和: 树状数组的定义: 查询前x项的和操作: ll query(int x){ll s0;f…

Lumion专业3D渲染三维场景设计软件下载,Lumion强大的三维渲染软件

Lumion,这款软件具备令人瞩目的渲染速度,能够以闪电般的速度生成令人叹为观止的图像、视频和360全景图,让设计师们能够在短时间内将创意转化为视觉盛宴。 Lumion软件内置了一系列可定制的预先配置的HDR天空环境,这些天空环境不仅丰…

【人工智能学习之图像操作(一)】

【人工智能学习之图像操作(一)】 图像读写创建图片并保存视频读取色彩空间与转换色彩空间的转换通道分离理解HSV基本图形绘制 阀值操作OTSU二值化简单阀值自适应阀值 图像读写 图像的读取、显示与保存 import cv2 img cv2.imread(r"1.jpg")…

云桌面运维工程师

一 深信服驻场工程师 1 深信服AC、AF、AD、NGAF、WOC Atrust、WAF项目实施经验者优先考虑。 负责云桌面POC测试 部署和配置:设置云桌面基础设施,包括虚拟化平台、云桌面管理软件和相关组件。确保正确配置网络、存储和安全设置。 用户体验&#xff1…

VSCode 自动调整格式失效了 ESLint

ESLint【最新注意2.4.4版本有问题,需退回2.4.2版本就恢复正常了】 参考:vscode自动格式化失效_vscode保存自动格式化失效-CSDN博客

error: ‘CV_FONT_HERSHEY_SIMPLEX’ was not declared in this scope 的参考解决方法

文章目录 写在前面一、问题描述二、解决方法参考链接 写在前面 自己的测试环境: Ubuntu20.04,OpenCV 4.2.0 一、问题描述 编译 OpenCV 的程序时,出现如下报错 error: ‘CV_FONT_HERSHEY_SIMPLEX’ was not declared in this scope二、解决…