Metacello对github项目包的依赖性
如何直接依赖github回购协议的包?(假设项目没有基线,或者有理由不使用基线。) 我试过以下规格Metacello对github项目包的依赖性,github,pharo,metacello,Github,Pharo,Metacello,如何直接依赖github回购协议的包?(假设项目没有基线,或者有理由不使用基线。) 我试过以下规格 spec package: 'Magritte-XMLBinding' with: [ spec repository: 'github://magritte-metamodel/XML-Bindings:master/repository' ]. 但是它失败了(无法解析:Magritte XMLBinding[Magritte XMLBinding.packag
spec
package: 'Magritte-XMLBinding'
with: [ spec
repository: 'github://magritte-metamodel/XML-Bindings:master/repository' ].
但是它失败了(无法解析:Magritte XMLBinding[Magritte XMLBinding.package]),在repo下的Monticello浏览器中,我只看到Magritte测试XMLBinding
更重要的是,当我查看未打包的repo(在github cache/
中)时,只有magrite测试XMLBinding
被解压缩
未打包的测试
包是按字母顺序排列的第一个包,这让我感觉Metacello spec只是不假思索地抓住了第一个包。当使用git(和github)时,你不能依赖包,而是在完整的项目中。但是,您可以依赖于某个项目,但只加载该项目的一个包。
通常,该定义应适用于:
spec
baseline: 'XMLBindings'
with: [
spec
repository: 'github://magritte-metamodel/XML-Bindings:master/repository';
loads: #('Magritte-XMLBinding') ].
然而,虽然这个答案总体上是正确的,但在这种情况下,它将不起作用,,因为该项目的作者没有包含任何允许这种依赖性定义起作用的基线定义,这表明他只是将该项目用作真实项目的镜像。。。因此,这里有三种可能的解决方案:
向具有基线的作者发送请求
联系项目作者并要求添加基线
使用原始源,而不是github镜像
从行为上看,它更像是一个不完整的实现,因为它下载了正确的repo,解压了它,然后它才崩溃(基本上是在本地文件树repo上)