我希望能够import或者using我正在~/projects/ExamplePkg从我的主要 Julia REPL / 来自另一个项目或环境的目录中编写一个包。
通过]foo我的意思是“在朱莉娅PKG REPL使用foo的命令”。]在 Julia REPL 处键入以进入 Pkg REPL。使用]help <command name>以获取更多信息或查看下面的链接。
确保你的包有一个 Project.toml,它给它一个 UUID 并命名它(]generate从 Julia REPL 或 PkgTemplates 包生成一个),并且它在一个 git repo 中,至少有一个包含所有相关文件的提交。
然后选择您希望如何使用该软件包。
你可能想运行]dev ~/projects/ExamplePkg:
如果
dev在本地路径上使用,则在加载该包时记录并使用该包的该路径。该路径将相对于项目文件进行记录,除非它是作为绝对路径给出的。
如果您使用dev并更改了dev'd 包中的依赖项,那么您可能应该]resolve在依赖于该包的所有环境中运行。
或者你可以运行]add ~/projects/ExamplePkg:
add我们可以给 git 存储库的本地路径,而不是给它一个 git 存储库的 URL 。这与添加 URL 的工作方式类似。将跟踪本地存储库(在某个分支),并在更新包时从该本地存储库中提取更新。请注意,加载该包时不会立即反映对本地包存储库中文件的更改。必须提交更改并更新包才能引入更改。
在 Julia 版本 <1.4 中:如果]add在正确设置 git repo 之前不小心创建了一个包,那么您可能会得到ERROR: GitError(Code:EUNBORNBRANCH, Class:Reference, reference 'refs/heads/master' not found). 不幸的是,Julia 可能已经缓存了错误的存储库,您需要将其从~/.julia/clones/<gibberish>/. 您可以使用 grep: 找到要删除的目录$ grep ExamplePkg ~/.julia/clones/*/config。
文档:https : //julialang.github.io/Pkg.jl/v1/managing-packages/