【问题标题】:How to update to Julia 0.7 on MacOs without installing packages again如何在 MacOs 上更新到 Julia 0.7 而无需再次安装包
【发布时间】:2019-03-09 09:32:20
【问题描述】:

我是 Julia v0.6 的用户,没有问题需要报告。我正在尝试更新到 Julia v0.7。我已经安装了 CMD 行版本。

我将包从 v0.6 文件夹复制到 v0.7 附带的包文件夹中。

这是我在 finder 中的文件结构的图像。

我在上面看到的“Packages”文件夹中看到了这些包。但是,当我尝试“使用 SHERPA”时(SHERPA 是“Packages”文件夹中的一个包),它说它没有安装。我想也许 Pkg.init() 会解决问题,但该命令在 v0.7 上已弃用,所以我不知道该怎么做。

我已经查看了其他 StackOverflow 问题,但这些问题并没有解决我的问题。我也已经尝试过 Pkg.resolve() 和 Pkg.Update() 无济于事。

感谢您的支持。

使用解决方案编辑:

在撰写本文时,我正在我的 Mac 上运行 MacOs Mojave,并且建议至少使用 MacOs High Sierra,因为其中的文件结构已更改。

安装 Julia 0.7:https://julialang.org/downloads/ 注意:如果您在上面的链接中没有看到 v0.7,请转到此处:https://julialang.org/downloads/oldreleases.html

安装 v0.7 后,确保将其拖到您的应用程序文件夹中。

运行程序。在出现的 Julia 终端窗口中输入“Pkg.resolve()”和“Pkg.Update()”。

然后运行:
Pkg.add("JSON") 为了让你的包文件显示出来......

这应该可以启用新的包管理系统。您可以通过检查您的“.julia”文件夹来确认这一点(可以访问但要转到查找器 - 单击 Command-Shift-H,然后单击 Command-Shift-。)

您应该会看到“环境”、“包”和“注册表”文件夹(可能还有一些其他文件夹)。请注意,由于新的包管理器,您不能或我不知道如何将项目从 GitHub 桌面克隆到您的包文件夹。

添加定制包:打开命令行版本v0.7 类型 ”]”。您应该会看到蓝色文本中的“(v0.7) pkg>”。注意使用“Control”-“c”在终端退出 Pkg 模式。 输入“添加https://github.com/xxxxxxx/xxxxxxx.git” 键入“添加https://github.com/xxxxxx/xxxxxxx.git”注意:按照屏幕上的任何提示进行操作(即“键入PKg.resolve()Pkg.update()”)

注意:当您运行旧代码时,您可能会看到许多折旧警告。

如何在 Julia v0.7 中使用新的 Pkg 管理器:https://docs.julialang.org/en/v1/stdlib/Pkg/index.html

【问题讨论】:

  • Julia 的包环境从 v0.6 到 v0.7 进行了全面检修。除非它真的会导致生命损失,否则我强烈建议您从头开始重新安装 v0.7 的软件包。

标签: julia


【解决方案1】:

这是不可能的和/或不推荐的,原因如下:

  1. 与 Julia v0.6 中的包管理器相比,Julia v0.7/v1.0 中的包管理器是全新的。特别是新的包管理器不了解旧的包管理器文件夹结构和安装方法(git 克隆)。作为旁注,packages 文件夹不应该被用户修改,它是由 Pkg 控制的,特别是在 packages 文件夹中放一些东西并不意味着它已经安装了。

    李>
  2. 由于 Julia v0.6 和 v0.7/v1.0 之间发生了很多变化,因此您在 Julia v0.6 上使用的相同包版本不太可能适用于较新的 Julia 版本,因此您复制并没有真正获得任何好处,因为无论如何您都需要“重新安装”新版本。

我还想指出,与旧的相比,新的包管理器要快得多,所以

pkg> add PackageA PackageB ...

添加您使用的所有软件包不会超过一分钟。

【讨论】:

  • 好的,我的后续问题是如何添加不在注册表中的包(即来自 GitHub 的包)。我尝试了“Pkg.clone(“xxxxx”)”,但它会将其添加到克隆包而不是包文件中......
  • 类似 Pkg.clone("github.com/name/pkgname.jl") 的东西在这里工作。您可能需要在网络上搜索 package.jl 才能获得所需的 github 目录。
  • 您应该使用 Pkg.add(PackageSpec(url = "url/to/package")),或者只使用 Pkg REPL 中的 pkg> add url/to/package。 (Pkg.clone 已弃用)
猜你喜欢
  • 1970-01-01
  • 2022-01-21
  • 1970-01-01
  • 2014-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-20
相关资源
最近更新 更多