You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法将npm包发布至GitLab Registry问题求助

解决发布Node包到GitLab Package Registry时的EPrivate错误

问题描述

执行npm publish时触发以下错误:

npm notice 
npm notice 📦  @root-group/prj@0.0.0
npm notice === Tarball Contents === 
npm notice 318B  .gitlab-ci.yml              
npm notice 100B  .gitpod.yml                
npm notice 8B    .node-version               
npm notice 2.2kB CONTRIBUTING.md              
npm notice 201B  Dockerfile                  
npm notice 1.1kB LICENSE                      
npm notice 822B  README.md                    
npm notice 1.1kB app.js                       
npm notice 1.6kB bin/www                      
npm notice 962B  jenkinsfile                  
npm notice 407B  package.json                
npm notice 111B  public/stylesheets/style.css
npm notice 205B  routes/index.js              
npm notice 203B  routes/users.js              
npm notice 232B  test/test.js                
npm notice 84B   views/error.pug              
npm notice 66B   views/index.pug              
npm notice 125B  views/layout.pug            
npm notice === Tarball Details === 
npm notice name:          @root-group/prj                         
npm notice version:       0.0.0                                   
npm notice filename:      root-group-prj-0.0.0.tgz                 
npm notice package size:  4.7 kB                                  
npm notice unpacked size: 9.8 kB                                  
npm notice shasum:        a4c2b35dc8e70e2bc62bdc3cc41eacd18ede49d8
npm notice integrity:     sha512-B8urHXCGTYsE9[...]g8CiL0dYVJA+A==
npm notice total files:   18                                       
npm notice 
npm notice Publishing to https://gitlab.com/api/v4/projects/<project_id>/packages/npm/ with tag latest and default access
npm ERR! code EPRIVATE
npm ERR! This package has been marked as private
npm ERR! Remove the 'private' field from the package.json to publish it.

当前使用的配置文件:

package.json

{
  "name": "@root-group/prj",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www",
    "test": "mocha --exit"
  },
  "dependencies": {
    "cookie-parser": "^1.4.5",
    "debug": "^4.3.1",
    "express": "^4.17.1",
    "http-errors": "^1.8.0",
    "morgan": "^1.10.0",
    "pug": "^3.0.2"
  },
  "devDependencies": {
    "mocha": "^9.0.0",
    "supertest": "^6.1.3"
  }
}

.npmrc

@root-group:registry=https://gitlab.com/api/v4/projects/<registry_project_id>/packages/npm/
//gitlab.com/api/v4/projects/<registry_project_id>/packages/npm/:_authToken="<access_token>"

解决方案

  • 核心修复:移除私有标记
    npm 明确禁止发布标记为private: true的包,这是当前错误的直接原因。修改package.json,将"private": true改为"private": false,或者直接删除该字段。
  • 验证令牌配置(后续必要步骤)
    虽然当前错误与令牌无关,但确保你的access_token拥有write_package_registry权限,且.npmrc中的项目ID、令牌字符串无拼写错误。
  • 重新发布
    执行npm publish即可完成发布。

内容的提问来源于stack exchange,提问作者hadamard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 14:25:33