如何为已`dev`过的包强制设置JULIA_PKG_DEVDIR路径
Julia开发包路径修改问题解答
核心问题排查:为什么设置了JULIA_PKG_DEVDIR却没生效?
你在startup.jl里的代码写法有误,正确格式应该是:
ENV["JULIA_PKG_DEVDIR"] = "/绝对路径/到/你的目标文件夹"
注意两点:
- 环境变量名
JULIA_PKG_DEVDIR必须用双引号包裹,作为字符串索引 - 路径必须是绝对路径(Windows示例:
"C:\\Users\\你的用户名\\julia_dev",Linux/macOS示例:"/home/你的用户名/julia_dev")
修改后重启Julia,再在pkg模式下执行dev 新包名,新包就会存到新路径。
你的问题逐个解答
是否需要删除默认文件夹?
不需要删除默认dev文件夹,Julia会优先使用你设置的JULIA_PKG_DEVDIR路径,旧文件夹留着不会干扰新包存放,你依然可以访问旧路径下的开发包。是否要复制旧文件夹到新路径?
完全看需求:- 若希望新路径直接使用之前开发的包,把旧dev文件夹内容复制到新路径即可
- 若暂时不需要,不用复制也没关系,旧路径的包依然能正常
using调用
新路径是否有命名要求?
没有特殊命名限制,只要符合操作系统的路径命名规则就行(比如Windows不能包含:\*?"<>|等字符,Linux/macOS尽量避免空格和特殊符号),路径名称可随意取,比如julia_dev_pkgs、my_dev_libs都没问题。如何迁移已dev的包到新路径?是否需要先free再重新dev?
有两种可行方案:- 快速迁移(适合带本地修改的包)
把旧dev路径下的目标包文件夹直接复制到新路径,然后在Julia的pkg模式(按]进入)执行:
这样pkg会关联到新路径下的包,本地修改也能保留。dev --local 包名 - 规范流程(适合无本地修改或已推送修改到远程的包)
先在pkg模式下解除旧dev关联:
再执行free 包名dev 包名,pkg会把包重新克隆到你设置的新DEVDIR路径下。
- 快速迁移(适合带本地修改的包)
内容的提问来源于stack exchange,提问作者Jonathan F.
相关产品推荐
相关产品推荐

