【问题标题】:Porting from Sinopia to Nexus3从 Sinopia 移植到 Nexus3
【发布时间】:2017-03-08 22:46:14
【问题描述】:

有人有从 Sinopia 移植到 Nexus 3 的流程吗?我们总是可以在 Nexus 中代理 Sinopia,让它继续运行一年,但我宁愿导入并关闭 Sinopia。

提前致谢,

戴夫 B.

【问题讨论】:

  • Sinopia 确实将模块存储为 .tar.gz 文件。我也许可以提取所有这些并编写发布脚本。
  • 你马上绑定NX3了吗?我想知道是否可以将文件移动到 NX2,然后将您的 NX2 升级到 NX3。 NX2 有一个平面文件系统,不像 NX3 使用 blobstore,所以我想你可以将你的文件复制到 NX2 中的存储库然后升级。

标签: nexus sinopia


【解决方案1】:

生成sinopia tgz文件列表

find $SINOPIA_HOME/storage/ -name "*.tgz" > listoftgzs.txt

迭代列表并发布到 Nexus 3

while read p; do
  echo $p
  npm publish $p --registry https://mynexus.hostname.com/repository/npm-internal/ 
done < listoftgzs.txt

我有一些未能发布,我认为这与模块有关,而不是这里的方法。

【讨论】:

  • 我本可以合并两组命令,但想在运行之前进行验证。
  • 发布失败,因为他们在 package.json 中有 ` "publishConfig": { "registry": "npm.server.com" }, `,它覆盖了命令行发布中的 --registry,doh !
  • 似乎 Nexus 3 也不支持 sinopia 代理。
  • 嘿,戴夫,有趣的是 Nexus 3 不会代理 Sinopia(我个人很想知道更多,如果你有堆栈跟踪等...弹出到 issues.sonatype.org/browse/NEXUS )。此外,此脚本可能对其他人相当有帮助,如果您想将其添加到 Nexus Exchange,请访问:exchange.sonatype.com
  • 到目前为止,我试图复制 Nexus 2 存储目录下的 sinopia tgz 文件失败,因此我可以将其升级到 Nexus 3。必须创建一个名为“-”的目录并移动 tgz 文件给它。 Package.json 格式似乎有些不同。从 sinopia 搬过来后,到目前为止,甚至还没有安装非范围包。我正在按照 Darth 的建议进行操作,并针对 Nexus 3 和 Sinopia 开一张票。
猜你喜欢
  • 2015-11-04
  • 2012-06-03
  • 2014-08-23
  • 2015-04-23
  • 1970-01-01
  • 2010-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多