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

npm publish将斜杠编码为%2f致400错误,求无Artifact权限下的解决办法

解决Artifactory npm Publish 400错误(斜杠被编码为%2f)

以下是几个无需修改Artifactory服务端的可行方案:

  • 替换npm Registry为仓库直接URL
    你当前使用的是Artifactory的npm API端点(/api/npm/npm-enterprise),这个路径在publish时会触发不必要的斜杠编码。改成仓库的直接访问URL即可:
    在项目根目录创建/修改.npmrc文件,添加:

    registry=https://artifactrepository.company.net/artifactory/npm-enterprise/
    

    之后执行npm publish,此时npm会直接向仓库路径发送请求,斜杠不会被编码为%2f。

  • 临时指定publish的registry
    如果不想修改全局或项目配置,直接在publish命令里指定正确的仓库URL:

    npm publish --registry=https://artifactrepository.company.net/artifactory/npm-enterprise/
    
  • 使用JFrog CLI替代npm publish
    JFrog官方CLI工具对Artifactory的路径处理做了适配,能避免编码问题:

    1. 全局安装CLI:
      npm install -g jfrog-cli
      
    2. 配置Artifactory连接(按提示输入仓库地址、账号密码):
      jfrog rt config
      
    3. 在包目录执行发布:
      jfrog rt npmpublish @orgName/packageName --repo npm-enterprise
      
  • 检查package.json的name字段
    确认package.json里的name字段严格是@orgName/packageName,没有多余的转义字符或拼写错误,这是避免路径异常的基础前提。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 14:20:27