当前位置: 首页 > news >正文

npm包发布

一、npm

npm(Node Package Manager)是 Node.js 的包管理工具,用于安装、分享和管理 JavaScript 包和项目依赖。npm 是 Node.js 的默认包管理器,随同 Node.js 一起安装。

二、npm主要功能特点

  1. 包管理:npm 允许开发者轻松地安装、更新和删除 JavaScript 包。开发者可以通过 npm 安装他人编写的包,也可以将自己的包发布到 npm 上供他人使用。
  2. npm 能够管理项目的依赖关系,帮助开发者在项目中引入所需的第三方库和工具,并自动解决依赖冲突。
  3. 脚本执行:npm 允许开发者在 package.json 文件中定义各种自定义脚本,比如构建、测试等,通过简单的命令来执行这些脚本。
  4. 版本管理:npm 使用语义化版本控制(Semantic Versioning)来管理包的版本号,开发者可以指定所需的包版本范围,确保项目的稳定性和兼容性。
  5. 作用域和私有包:npm 支持作用域(Scope)概念,允许开发者将包发布到私有作用域,以便在内部项目中共享私有包。
  6. 全球化:npm 是一个全球化的包管理工具,开发者可以访问全球范围内的数以百万计的开源包,并从中选择适合自己项目需求的包。

三、npm 私有包发布

Verdaccio 是一个开源的 npm 私有 registry 代理,通过 Verdaccio,可以管理自己的私有 npm 包,以及代理和缓存公共 npm registry 中的包。

使用 Verdaccio 搭建私有 npm registry 的步骤:

1. 安装 Verdaccio

在命令行中使用 npm 全局安装 Verdaccio:

npm install -g verdaccio

2. 启动 Verdaccio

执行启动命令:

verdaccio

默认情况下,Verdaccio 会运行在 http://localhost:4873。可以在浏览器中访问该地址来查看 Verdaccio 的 Web 界面。

3. 配置 npm

将 npm 的 registry 配置指向 Verdaccio,以便在发布和安装包时使用私有 registry

使用以下命令来配置 npm registry:

npm config set registry http://localhost:4873

4. 发布和安装私有包

发布私有包到 Verdaccio:

npm publish

安装包:

npm install 或 yarn add

5.管理用户和权限

Verdaccio 允许设置用户账号和权限,以控制谁可以访问和发布包。也可以在 Verdaccio 的 Web 界面或配置文件中进行用户和权限的管理。

四、npm 公共包发布

要将 npm 包发布到公共的 npm registry 中,你需要遵循以下步骤:

1. 创建 npm 账号

需要在 npm 官网上注册一个账号。

2.登录 npm 账号

在命令行中使用以下命令登录 npm 账号:

npm login

输入 npm 上注册的用户名、密码和邮箱来登录。

3.准备你的包

在项目中,确保你的包已经准备好可以发布。包括正确配置的 package.json 文件和所有需要的文件。

4.发布包

运行以下命令发布包到公共的 npm registry:

npm publish

5.版本号管理

在每次发布包时,确保更新包的版本号,遵循语义化版本规范(Semantic Versioning)。

6.管理包的访问权限

如果你想限制包的访问权限,可以在 npm 上设置包的访问权限,例如私有包或公共包。

7.更新文档和元数据

在发布包之前,确保你的包的文档和元数据是准确的,以便其他人可以正确使用和理解你的包。

8.验证发布

发布后,可以使用 npm info your-package-name 命令来验证包是否已经成功发布到公共的 npm registry。

五、常用命令

  1. 检查当前的 registry 配置:

    npm config get registry
    
  2. 设置 registry 配置:

    npm config set registry https://registry.npmjs.org
    
  3. 创建用户:

    npm adduser
    
  4. 登录:

    npm login
    
  5. 删除 registry 特定包或版本:

    npm unpublish my-package
    
    npm unpublish my-package@1.0.0
    

    强制删除:

    npm unpublish my-package  --force
    

六、说明

  1. 当 npm 和 yarn 配置了不同的 registry 时,在使用 yarn add 安装包时发现会从 npm registry 配置获取。这是因为 yarn 在安装包时会优先使用 npm 的配置而不是自身的配置

  2. 如何在项目中使用特定的 registry 配置而不是全局配置:
    可以在项目的根目录下创建一个.npmrc或.yarnrc文件,并在其中指定项目特定的 registry 地址。

    在.npmrc文件中,可以添加如下内容:

    registry=https://your-custom-registry-url
    

    在.yarnrc文件中,可以添加如下内容:

    registry "https://your-custom-registry-url"
    
http://www.lryc.cn/news/328002.html

相关文章:

  • C#使用SQLite(含加密)保姆级教程
  • C# 异步与 Unity 协程(实例讲解)
  • iOS - Runloop介绍
  • 探究分布式事务:深入ACID特性在分布式系统中的挑战与解决方案
  • PCI总线管脚定义(引脚定义)
  • 万字详解PHP+Sphinx中文亿级数据全文检索实战(实测亿级数据0.1秒搜索耗时)
  • 数据库索引及优化
  • flink: 将接收到的tcp文本流写入HBase
  • SpringBoot集成knife4j
  • Vue3之setup方法
  • MySQL常见索引及其创建
  • 高效测量“芯”搭档 | ACM32激光测距仪应用方案
  • 基于Hive大数据分析springboot为后端以及vue为前端的的民宿系
  • pnpm、monorepo分包管理、多包管理、npm、vite、前端工程化、保姆级教程
  • vue3封装Element分页
  • 真机 ARM64 架构转模拟器 ARM64 架构
  • 敏捷教练CSM认证考了有没有用,谁说了算?
  • Docker-Container
  • 下载安装anaconda和pytorch的详细方法,以及遇到的问题和解决办法
  • 2020年天津市二级分类土地利用数据(矢量)
  • 设计模式——结构型——外观模式Facade
  • OpenGL的MVP矩阵理解
  • 前端超分辨率技术应用:图像质量提升与场景实践探索-设计篇
  • C++11入门手册第一节,学完直接上手Qt(共两节)
  • Docker部署MinIO对象存储服务
  • 基于Echarts的超市销售可视化分析系统(数据+程序+论文)
  • 使用ai智能写作场景之gpt整理资料,如何ai智能写作整理资料
  • C/C++ 内存管理
  • android pdf框架-10,相册浏览
  • 基于SSM的高校普法系统(有报告)。Javaee项目。ssm项目。