更新时间:2025-07-22 GMT+08:00
        
          
          
        
      
      
      
      
      
      
      
      
  
      
      
      
        
通过编译构建任务发布/获取NPM私有组件
本文档介绍如何通过编译构建任务发布私有组件到NPM私有依赖库、如何从NPM私有依赖库获取依赖包完成编译构建任务。
前提条件
- 该功能需要使用编译构建CodeArts Build服务,需要购买CodeArts套餐。
 - 已有可用项目。如果没有项目,请先创建项目,例如项目名称为project01。
 - 已创建NPM格式私有依赖库。
 - 已添加当前账号对当前私有库的权限,请参考配置私有依赖库权限。
 
发布私有组件到NPM私有依赖库
- 下载私有依赖库配置文件。
    
    
- 登录制品仓库,进入NPM私有依赖库。单击页面右侧“设置仓库”,记录仓库的路径。
      

 - 单击“取消”返回私有依赖库页面,单击页面右侧“操作指导”。
 - 在弹框中单击“下载配置文件”。
      

 - 在本地将下载的“npmrc”文件另存为“.npmrc”文件。
 
 - 登录制品仓库,进入NPM私有依赖库。单击页面右侧“设置仓库”,记录仓库的路径。
      
 - 配置代码仓库。
 - 配置并执行编译构建任务。
    
    
- 在代码仓库中,单击页面右上角“设置构建”,页面跳转至“新建编译构建任务”页面。
      
在页面中选择“空白构建模板”,单击“下一步”。
 - 添加步骤“Npm构建”。
      

 - 编辑步骤“Npm构建”。
      
- 工具版本按照实际选择,本文中选择“nodejs12.7.0”。
 - 删除已有命令行,输入以下命令:
        
export PATH=$PATH:/root/.npm-global/bin npm config set strict-ssl false npm publish
 

 - 单击“新建并执行”,启动构建任务执行。
      
待任务执行成功时,进入私有依赖库,可找到通过构建任务上传的NPM私有组件。
 
 - 在代码仓库中,单击页面右上角“设置构建”,页面跳转至“新建编译构建任务”页面。
      
 
从NPM私有依赖库获取依赖包
以发布私有组件到NPM私有依赖库中发布的NPM私有组件为例,介绍如何从Npm私有依赖库中获取依赖包。
- 配置代码仓库。
    
    
- 进入代码托管服务,创建Node.js代码仓库(操作步骤请参考创建云端仓库)。本文使用模板“nodejs Webpack Demo”创建代码仓库。
 - 参考发布私有组件到NPM私有依赖库,获取“.npmrc”文件并上传至需要使用Npm依赖包的代码仓库根目录中。
 - 在代码仓库中找到“package.json”文件并打开,将依赖包配置到dependencies字段中,本文中配置的值为:
      
"@test/vue-demo": "^1.0.0"

 
 - 配置并执行编译构建任务。
    
    
- 在代码仓库中,单击页面右上角“设置构建”,页面跳转至“新建编译构建任务”页面。
      
在页面中选择“空白构建模板”,单击“下一步”。
 - 添加步骤“Npm构建”。
      

 - 编辑步骤“Npm构建”。
      
- 工具版本按照实际选择,本文中选择“nodejs12.7.0”。
 - 删除已有命令行,输入以下命令:
        
export PATH=$PATH:/root/.npm-global/bin npm config set strict-ssl false npm install --verbose
 

 
 - 在代码仓库中,单击页面右上角“设置构建”,页面跳转至“新建编译构建任务”页面。
      
 - 单击“新建并执行”,启动构建任务执行。
    
    
待任务执行成功时,查看构建任务详情,在日志中找到类似如下内容,说明编译构建任务从私有依赖库完成了依赖包下载并构建成功。

 
NPM命令简介
在编译构建任务命令行中,还可以配置如下NPM命令,以完成其它功能:
- 删除私有依赖库中已存在的私有组件
    
npm unpublish @scope/packageName@version
 - 获取标签列表
    
npm dist-tag list @scope/packageName
 - 新增标签
    
npm dist-tag add @scope/packageName@version tagName --registry registryUrl --verbose
 - 删除标签
    
npm dist-tag rm @scope/packageName@version tagName --registry registryUrl --verbose
 
命令行参数说明:
- scope:私有依赖库路径,查看方法请参考发布私有组件到NPM私有依赖库。
 - packageName:“package.json”文件中,name字段中scope之后的部分。
 - version:“package.json”文件中,version字段对应的值。
 - registryUrl:私有库配置文件中的对应scope的私有库地址url。
 - tagName:标签名称。
 
以发布私有组件到NPM私有依赖库发布的私有组件为例:
- scope对应的值为“test”。
 - packageName对应的值为“vue-demo”。
 - version对应的值为“1.0.0”。
 
因此,删除此组件的命令应为:
npm unpublish @test/vue-demo@1.0.0
    
      


