如何在MacOs上更新到Julia 0.7而无需再次安装软件包

如何在MacOs上更新到Julia 0.7而无需再次安装软件包,julia,Julia,我是Julia v0.6的用户,无需报告任何问题。我正在尝试更新到Julia v0.7。我已经安装了CMD行版本 我将包从v0.6文件夹复制到v0.7附带的包文件夹中 这是我在finder中的文件结构的图像 我在上面的“packages”文件夹中看到了这些包。然而,当我尝试“使用夏尔巴”例如(夏尔巴是一个包在“包”文件夹),它说它没有安装。我认为Pkg.init()可能会解决这个问题,但该命令在v0.7上已被弃用,因此我不知道该怎么办 我已经研究了其他StackOverflow问题,这些问题没

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

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

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

我在上面的“packages”文件夹中看到了这些包。然而,当我尝试“使用夏尔巴”例如(夏尔巴是一个包在“包”文件夹),它说它没有安装。我认为Pkg.init()可能会解决这个问题,但该命令在v0.7上已被弃用,因此我不知道该怎么办

我已经研究了其他StackOverflow问题,这些问题没有解决我的问题。我还尝试了Pkg.resolve()和Pkg.Update(),但没有成功

我感谢你的支持

编辑W/解决方案:

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

安装Julia 0.7:注意:如果在上面的链接上看不到v0.7,请转到此处:

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

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

然后运行:
Pkg.add(“JSON”)
为了让您的软件包文件显示

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

您应该会看到一个“environments”、“packages”和“Registeries”文件夹(可能还有一些其他文件夹)。注意到目前为止,由于新的软件包管理器,您无法或我不知道如何将项目从GitHub desktop克隆到您的软件包文件夹

添加定制包:打开命令行版本v0.7 键入“]”。您应该看到蓝色文本中的“(v0.7)pkg>”。注:使用“控制”-“c”退出终端中的打包模式。 键入“添加” 键入“添加”注意:按照屏幕上的提示操作(即“键入
PKg.resolve()
PKg.update()
”)

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


如何在Julia v0.7中使用新的Pkg管理器:

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

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

  • 由于Julia v0.6和v0.7/v1.0之间发生了很多变化,因此在Julia v0.6上使用的相同软件包版本不太可能在较新的Julia版本上工作,因此复制不会带来任何好处,因为无论如何都需要“重新安装”新版本

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

    pkg> add PackageA PackageB ...
    

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

    由于以下原因,这是不可能的和/或不建议的:

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

  • 由于Julia v0.6和v0.7/v1.0之间发生了很多变化,因此在Julia v0.6上使用的相同软件包版本不太可能在较新的Julia版本上工作,因此复制不会带来任何好处,因为无论如何都需要“重新安装”新版本

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

    pkg> add PackageA PackageB ...
    

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

    Julia的软件包环境从v0.6到v0.7进行了彻底的检修。除非它真的会导致生命损失,否则我强烈建议您从头开始重新安装v0.7的软件包。Julia的软件包环境从v0.6到v0.7进行了全面检修。除非它真的会导致生命损失,否则我强烈建议您从头开始重新安装v0.7的软件包。好的,我接下来的问题是如何添加一个不在注册表中的软件包(即来自GitHub的软件包)。我尝试了“Pkg.clone(“xxxxx”)”,但它将其添加到克隆包中,而不是包文件中…类似Pkg.clone(“)的东西在这里工作。您可能需要通过web搜索package.jl来获取所需的github目录。您应该使用
    Pkg.add(PackageSpec(url=“url/to/package”))
    ,或者从pkg REPL中添加url/to/package(
    pkg.clone
    已被弃用)好的,我接下来的问题是如何添加一个不在注册表中的包(即来自GitHub的包)。我尝试了“pkg.clone”(“xxxxx”),但它将其添加到克隆包而不是包文件中……类似于pkg.clone(“)在这里工作。您可能需要通过web搜索package.jl来获取所需的github目录。您应该使用
    Pkg.add(PackageSpec(url=“url/to/package”)
    ,或者从Pkg REPL中选择
    Pkg>添加url/to/package
    。(
    Pkg.clone
    已弃用)