我想在Pharo中开发一个简单的项目,并且我想在Metacello中添加它的依赖项。我的项目取决于Glamour,Roassal和XMLSupport。Pharo依赖地狱
干净安装我的项目的一种方法是先手动安装依赖关系。继Deep into Pharo之后可以做
Gofer new
smalltalkhubUser: 'Moose' project: 'Glamour';
package: 'ConfigurationOfGlamour';
load.
(Smalltalk at: #ConfigurationOfGlamour) perform: #loadDefault.
Gofer new smalltalkhubUser: 'ObjectProfile'
project: 'Roassal';
package: 'ConfigurationOfRoassal';
load.
(Smalltalk at: #ConfigurationOfRoassal) load.
Gofer new
squeaksource: 'XMLSupport';
package: 'ConfigurationOfXMLSupport';
load.
(Smalltalk at: #ConfigurationOfXMLSupport) perform: #loadDefault.
然后我的项目会正常工作。
我尝试使用Versionner创建ConfigurationOfMyProject
,并且使用当前安装在我的映像中的版本(分别为2.6快照,1.430和1.2.1)添加了Glamour,Roassal和XMLSupport作为依赖关系。
问题是我无法使用Metacello在新鲜的图像中加载我的项目。该项目加载正常,但每当我尝试加载我的课,我得到方法缺失魅力错误。而且,很明显,有些东西是不同的,因为即使是世界菜单也有不同的条目。
我尝试了其他版本的组合,包括使用稳定的魅力(2.1),但我已经获得更多的错误,包括甚至不能在版本中打开项目(它抱怨失踪的Roassal名称)。
干净地添加这些依赖关系的正确方法是什么?
谢谢你的帮助。不过,我仍然有一个问题,因为我在图像中有许多过时的ConfigurationOfMyProject版本。有没有办法删除一切,然后重新启动? – Andrea 2014-09-05 13:27:56
好吧,我设法让它工作。首先,我从映像中卸载了ConfigurationOfMyProject,然后从包缓存和存储库中手动删除了它,最后我能够开始新鲜了。 – Andrea 2014-09-05 13:44:33
不过,我还有一个问题。在将我的项目载入新图像之后 - 现在可以使用 - 世界菜单略有不同:Roassal元素不在其自己的子菜单中。如果我像上面一样加载Roassal(使用Gofer),这会得到修复,但我得到一个警告,我将加载一个新版本的Roassal,并且工作副本很脏。这是为什么?是否因为魅力改变了它?我有点困惑 – Andrea 2014-09-05 13:47:05