我想在工作中运行本地Monticello HTTP存储库,以便我们可以在同事之间轻松共享代码。
有没有办法私下运行类似于SmalltalkHub的东西?
修改
我在这里尝试了所有选项,但它们似乎都没有顺利进行。让我回顾一下选项:
1)Apache上的WebDAV,跟随Stuart。我已经尝试过了一些在线指南。我目前的dav.conf看起来像这样:
DavLockDB /tmp/DavLock
Alias /pharo /opt/data/pharo
<Location /pharo>
Order Allow,Deny
Allow from all
Options Indexes MultiViews
Dav On
AuthType None
</Location>
我工作了几天。然后突然间我无法阅读某个包的新版本。每当我在一个图像中编写一个版本并在另一个版本中读取它时,我会得到一个异常ZnInvalidUTF8
。我不知道为什么,WebDAV可能存在列出太多文件的问题?
2)设置我的FTP。它似乎有效,但当我尝试将此存储库设置为版本控制器中的远程时,我得到MCFtpRepository doesNotUnderstnd: #koRemote
3)跟随Tobias的SqueakSource3。我试过在Pharo2和Pharo3中运行两个Gofer命令。在Pharo2中它根本不加载。在Pharo3中,或多或少的一切都有效。由于弃用或删除了消息,我不得不修复一些错误,但最后我能够创建项目并写入它们。
当我阅读时出现问题。显然SS3保留了某种内部缓存。结果是我在项目页面上看到的包列表与客户端获得的包列表不同。差异似乎是客户端需要页面的简短版本,例如http://localhost:8080/ss/MyProject/?C=M;O%3DD
,并且结果始终低于整页http://localhost:8080/ss/MyProject
。
此外,即使在项目页面上,版本列表仍然会被缓存,直到我导航到另一个项目。
4)SmallTalkHub,跟随Sean。我尝试过使用INRIA服务器的图像和Pharo-VM-loader建议的图像(它们可能是相同的)。
我不得不再次安装Seaside,因为下载的图片中没有ZnZincAdaptor。我现在能够启动SmallTalkHub,但是一旦我尝试注册用户,我就会收到错误MessageNotUnderstood: receiver of "new" is nil
。我无法跟踪此错误的来源(有没有办法打开服务器端调试器而不是在Seaside中停止500?)。
发生此错误后,我可以在mongodb和界面中看到用户,但我无法登录。
5)Git使用filetree,如Kylon所示。这将阻止我使用MetaCello来处理依赖关系,并且看起来比其他选项更加强制。
此时我不知所措。 :-(如果我想使用Pharo,我需要能够与我的同事合作。至少现在使用开源存储库是不可取的。
是否有一种简单,经过试验和测试的方法来设置这样的存储库?
由于其用户界面,SqueakSource3或SmallTalkHub会更好,但我至少需要基本的协作。拥有一个可以在无头服务器上运行的选项也是一个很大的优势,就好像这成为我们使用的工具一样,在我的笔记本电脑上托管存储库是不可行的。
答案 0 :(得分:2)
Per this thread:
设置服务器:
- 下载SmalltalkHub图片(https://ci.inria.fr/pharo-contribution/job/SmalltalkHub/)
- 在您的计算机上安装mongodb(适用于Debian:apt-get install mongodb)
- 启动SmalltalkHub图像
- 评估:ZnZincServerAdaptor startOn:8080
- 访问
醇>http://localhost:8080/tools/hub
,创建帐户和项目
答案 1 :(得分:1)
除了肖恩的回答 - 如果你只是想要一个Metacello存储库,并且不一定需要完整的SmalltalkHub,那么你只需要一个WebDav服务器。 Apache工作正常,我甚至在过去成功使用过Confluence的WebDAV支持(有一些调整)。
答案 2 :(得分:1)
除了其他答案:
您也可以安装SqueakSource3(如SmalltalkHub,不需要MongoDB):
Gofer new
url:'http://www.smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main';
package: 'ConfigurationOfSeaside3';
load.
((Smalltalk at: #ConfigurationOfSeaside3) project version: #stable) load.
Gofer new
url:'http://www.squeaksource.com/MetacelloRepository';
package: 'ConfigurationOfSqueakSource';
load.
((Smalltalk at: #ConfigurationOfSqueakSource) project version: #bleedingEdge) load: #('All').
然后启动您的适配器(例如ZnZincServerAdaptor startOn: 8080
)并转到http://localhost:8080/instalSS
答案 3 :(得分:0)
另一种方式是走下Git的流行路线。我正在使用Github进行我的项目,它很有效,而Git本身在本地也很好用。所以,如果已经熟悉Git那么它是一个非常好的选择
找到更多信息答案 4 :(得分:0)
抱歉这个糟糕的smalltalkhub体验。我已对配置做了一些修复,需要检查是否足够