我是Julia的新用户,正在构建自己的包。当我构建自己创建的包时,我得到这个
(VFitApproximation) pkg> build VFitApproximation
Building MathLink → `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/653c35640db592dfddd8c46dbb43d561cbef7862/build.log`
Building Conda ───→ `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/299304989a5e6473d985212c28928899c74e9421/build.log`
Building PyCall ──→ `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/169bb8ea6b1b143c5cf57df6d34d022a7b60c6db/build.log`
Progress [========================================>] 4/4
✗ VFitApproximation
3 dependencies successfully precompiled in 9 seconds (38 already precompiled)
1 dependency errored
我不知道哪个依赖有错误以及如何修复它。我怎么问Julia哪里出错了?
这是VFitApproximation
本身有错误(它是唯一一个在它旁边有一个的)。您应该尝试启动一个会话并输入using VFitApproximation
;如果这导致一个错误,消息将告诉你更多的起源比build
。如果没有直接触发错误,那么您可以尝试上面@sundar建议的build
的详细模式。Julia的包管理器并行运行许多系统范围的操作,当你必须构建几十个或几百个包时,这是非常棒的,但在这种情况下,你只能得到一般的摘要,而不是你可以从单个包的操作中得到的详细信息。
一般来说,大多数软件包不需要手动build
:它通常用于需要在安装时进行特殊配置的软件包。示例可能包括从互联网下载数据集(尽管现在通过Artifacts更好地处理),或者将有关用户硬件的配置数据保存到文件中,等等。作为参考,在我的系统上,在418个包中,我有dev
编辑,只有20个有deps/build.jl
脚本,其中许多只是因为它们还没有被更新为使用Artifacts。
底线:对于大多数代码,你不需要Pkg.build
,你应该直接使用Pkg.precompile
或using
。