2016-09-20 128 views
4

首先:我以前从未与Smalltalk合作过,所以这对我来说有点文化冲击。我正在使用Squeak 5.1(32位)。从GitHub仓库安装Smalltalk项目

现在我的问题:我想从GitHub存储库安装Smalltalk项目。我使用此代码成功安装Metacello,在成绩单执行它:

"Get the Metacello configuration (for Squeak users)" 
Installer gemsource 
    project: 'metacello'; 
    addPackage: 'ConfigurationOfMetacello'; 
    install. 

"Bootstrap Metacello Preview, using mcz files (#'previewBootstrap' symbolic version" 
((Smalltalk at: #ConfigurationOfMetacello) project 
    version: #'previewBootstrap') load. 

"Load the Preview version of Metacello from GitHub" 
(Smalltalk at: #Metacello) new 
    configuration: 'MetacelloPreview'; 
    version: #stable; 
    repository: 'github://dalehenrich/metacello-work:configuration'; 
    load. 

"Now load latest version of Metacello" 
(Smalltalk at: #Metacello) new 
    baseline: 'Metacello'; 
    repository: 'github://dalehenrich/metacello-work:master/repository'; 
    get. 
(Smalltalk at: #Metacello) new 
    baseline: 'Metacello'; 
    repository: 'github://dalehenrich/metacello-work:master/repository'; 
    load. 

而且我还安装使用此代码的Metacello脚本API:

Installer gemsource 
    project: 'metacello'; 
    install: 'ConfigurationOfMetacello'. 

如果我现在想从GitHub的安装项目库,例如这样的:

Metacello new 
    baseline: 'Animations'; 
    repository: 'github://hpi-swa/animations/repository'; 
    load. 

然后我百达得到这个错误:

gofer repository error: 'GoferRepositoryError: UndefinedObject>>thisOSProcess'...ignoring 

我错过了什么吗?

+0

的'OSProcess'包似乎缺少负载OSProcess。你在做什么操作系统? –

+0

我重复了您在Mac上全新安装中描述的相同步骤,并且它工作得很好。 –

+0

@MaxLeske我在Windows上工作,并使用Squeak的一体化版本(应该在Windows,Mac和Linux上运行)。 –

回答

2

你是完全正确的,这是行不通的。 OSProcess尚未被标记为与Squeak 5.1兼容,即使它不是由Metacello提供的。我会把这个报告给开发者。

在平均时间你可以

(Installer ss project: 'OSProcess') install: 'OSProcess-dtl.98' 
+0

谢谢,你帮了很多。现在我可以加载上面给出的回购。你有一个想法如何加载这个[回购](https://github.com/matthias-springer/space-cleanup)?它似乎错过了BaselineOf目录。 –

+1

空间清理不是一个Metacello项目。你应该这样做:(1)​​克隆回购; (2)在Squeak中添加一个Monticello Filetree存储库并使用repo的'packages'目录(3)通过monticello手动加载软件包(字母顺序在这里看起来不错) – Tobias

+0

@Tobias Thx for the instruction :) –