【问题标题】:Publishing @progress/kendo-ui to nexus 3..5.1 npm pkg repository将@progress/kendo-ui 发布到 nexus 3..5.1 npm pkg 存储库
【发布时间】:2019-02-12 15:46:27
【问题描述】:

我们已从 Nexus 3.01.01 迁移到 3.5.1-02。在这个过程中,我们不得不迁移内部发布的 npms。其中之一是 Telerik/Progress 的 kendo-ui(商业版)。我们已经从 Telerik 下载了许可副本,并将其发布到我们的本地网络以供我们的开发人员使用。

但是,在负载解析期间发布失败并出现错误。我可以将相同的 tar 发布到较旧的(3.01.01)nexus,因此它本身的 tar/payload 是可以的。

错误似乎是在尝试解析 npm 有效负载时出现的。我还可以毫无问题地发布演示/简单 npm(范围和非范围)。花一整天的时间试图弄清楚这一点,但没有运气 - 感谢任何指示或建议。

2017-09-06 18:49:09,160+0800 警告 [qtp762281666-4116] MIDALE org.sonatype.nexus.repository.httpbridge.internal.ViewServlet - 故障服务:PUT /repository/npm-hosted/@progress%2fkendo-ui java.lang.IllegalStateException: 意外的令牌 VALUE_NULL 在 [来源:java.io.InputStreamReader@1ebad5c7;行:1,列:896] 在 com.sonatype.nexus.repository.npm.internal.NpmPublishParser.parseValue(NpmPublishParser.java:150) 在 com.sonatype.nexus.repository.npm.internal.NpmPublishParser.parseObject(NpmPublishParser.java:174) 在 com.sonatype.nexus.repository.npm.internal.NpmPublishParser.parseValue(NpmPublishParser.java:136) 在 com.sonatype.nexus.repository.npm.internal.NpmPublishParser.parseObject(NpmPublishParser.java:174) 在 com.sonatype.nexus.repository.npm.internal.NpmPublishParser.parseValue(NpmPublishParser.java:136) 在 com.sonatype.nexus.repository.npm.internal.NpmPublishParser.parsePackageRoot(NpmPublishParser.java:123) 在 com.sonatype.nexus.repository.npm.internal.NpmPublishParser.parse(NpmPublishParser.java:98) 在 com.sonatype.nexus.repository.npm.internal.NpmRequestParser.parseNpmPublish(NpmRequestParser.java:81) 在 com.sonatype.nexus.repository.npm.internal.NpmRequestParser.parsePublish(NpmRequestParser.java:60) 在 com.sonatype.nexus.repository.npm.internal.NpmHostedFacetImpl.putPackage(NpmHostedFacetImpl.java:85) 在 com.sonatype.nexus.repository.npm.internal.NpmHandlers$3.handle(NpmHandlers.java:172) 在 org.sonatype.nexus.repository.view.Context.proceed(Context.java:80)

这里是 gist 的链接日志中的完整错误。

【问题讨论】:

标签: npm kendo-ui nexus nexus3


【解决方案1】:

此问题已在https://issues.sonatype.org/browse/NEXUS-14385 范围内解决

修复版本/秒: 3.6.1

解析 package.json 中的空值时出现问题

【讨论】:

    【解决方案2】:

    我得到了这个工作,但我仍在试图找出改变的影响。如果您应用相同的“hack”来使其正常工作,请小心。我不得不这样做,因为还有其他几个项目团队受到了影响。

    简而言之,我必须从 kendo-ui 包的 package.json 中删除几个键。我的分析是这些设置使 npm 发出了在我们的约束环境中失败的网络调用。

    我删除的package.json键如下。

    第一节

     "_resolved": "https://registry.npm.telerik.com/@progress%2fkendo-ui/-/kendo-ui-2017.2.621.tgz",
     "_shasum": "09a652ead21700716dd5a50f9e86e9bffcea640e",
     "_shrinkwrap": null,
    

    第二部分

     "dist": {
       "shasum": "09a652ead21700716dd5a50f9e86e9bffcea640e",
       "tarball": "http://registry.npm.telerik.com/@progress%2fkendo-ui/-/kendo-ui-2017.2.621.tgz"
      },
    

    如果对 npm 和 npm 定义有更多了解的人可以告知 package.json 中这些设置的用途以及删除它们的潜在影响,我将不胜感激。

    【讨论】:

      猜你喜欢
      • 2017-09-08
      • 2023-03-05
      • 2018-06-07
      • 2016-04-17
      • 2019-11-22
      • 2018-06-03
      • 1970-01-01
      • 2021-12-11
      • 1970-01-01
      相关资源
      最近更新 更多