无需Revise.jl,如何重新加载本地Julia包?
在Julia 1.12中无需Revise.jl或重启REPL重载自定义包的方法
针对你修改HelloWorld包源码(新增greet_alien()函数)后无法重载的问题,以下是几种无需依赖Revise.jl或重启REPL的可行方案:
方案1:强制重新加载模块(Julia 1.10+原生支持)
如果已经通过using或import加载过包,直接执行:
Base.reload!(HelloWorld)
执行后即可访问新增的greet_alien()函数,无需重新导入。
方案2:清除模块缓存后重新导入
- 先从当前REPL会话的缓存中移除已加载的
HelloWorld模块:
delete!(Base.loaded_modules, Base.PkgId(HelloWorld))
- 重新导入包:
using HelloWorld # 或 import HelloWorld
方案3:包模式下重新安装本地包
- 按
]进入包管理模式,先移除已安装的HelloWorld:
rm HelloWorld
- 从本地路径重新添加包(根据你的
HelloWorld项目实际路径调整,示例为上级目录):
add ../HelloWorld
- 按
Backspace回到REPL模式,重新using HelloWorld即可。
关于你之前develop方式失败的说明
若要通过develop引入本地包,需确保:
- 在Test环境中执行
develop ./HelloWorld时,路径指向包含Project.toml的包根目录 - 执行前已激活Test环境(包模式下执行
activate ./Test)
内容的提问来源于stack exchange,提问作者Andreas Christophilopoulos
相关产品推荐
相关产品推荐

