juliahub上传julia包可以进行删除已上传的某个版本吗?或者对已上传的包修改readme文件

juliahub上传julia包可以进行删除已上传的某个版本吗?或者对已上传的包修改readme文件

上传指注册吗 :joy: 是的话更新个补丁版就好了。
还是说 juliahub 能像 dockerhub 那样自己上传包??学习一下(´・ω・`)

是指注册,我没表述 :joy:,请问下,那我能删除某个版本吗

你这几个帖子在聊同一个话题 :joy: 集中在一个帖子聊就行了,不会把内容给打散了

可以去注册表看看有没类似 issue,不过 GitHub 好像挂了,要等会(

还有,发布版本存在小 bug 是正常现象,补丁号就是用来干这个的。。。像 0.1.0-> 0.1.1。撤回可能会引起更多问题,不是好习惯,要么测试完再发布。

juliahub 并不是 julia 的包注册表。
他是一个商业服务,你可以理解为类似私有的 npm 注册表那样的。
只不过免费版可以浏览公开的包。

当一个版本被注册之后,它就被认为是一个可持久化存储的数据,而这样的数据出现在公共频道之后, “删除”在某种意义上来说已经不可能了。更可靠的方式是发布一个新的补丁版去覆盖它。

GitHub - JuliaRegistries/General: The official registry of general Julia packages 中关于这个问题有具体说明:

How do I remove a package or version from the registry?

You can’t. Package registrations are permanent. A version can not be overwritten in the registry, and code cannot be deleted.

删除一个注册版本带来的最大的问题是:之前已经安装了这个版本并解析出一个 Manifest.toml 的用户会发现其他人可能会无法复现他的环境(因为某个包的某个版本在一段时间之后竟然不存在了)。Julia 的工具链在极力避免这件事。

实际上 General 注册表有一个没有被宣传的 yank 机制来做到类似于删除的概念,它能保证这个数据资源依然存在,但新用户不会解析到这个版本。换句话说,yank 删除了但又没完全删除

yank 需要手动提交合并请求以及手动被合并,因此大多数时候这实际上属于Julia 核心开发圈子的专属功能,社区开发者大多数时候都是提交一个 patch 版本来进行覆盖即可。提交 yank 的一个例子

yank 术语考古? Terminology: "YANKED" · Issue #195 · olivierlacan/keep-a-changelog · GitHub

5 个赞