2016-09-20 95 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 :) –