【问题标题】:What's wrong with Iceberg/Pharo8 in Windows?Windows 中的 Iceberg/Pharo8 有什么问题?
【发布时间】:2021-05-31 04:07:34
【问题描述】:

我正在尝试使用手动克隆的 git repo 在 Windows 10 中设置 Pharo8 映像,但 pharo 给出了一个奇怪的错误。以下代码在 linux 上运行良好,但在 Windows 中失败(我尝试过 Git Bash 或 msys2-mingw64)。它克隆我的仓库,在子目录中下载 Pharo 8 镜像+vm,将其复制到一个新镜像,在其中添加 Iceberg 仓库并尝试安装 metacello 包:

$ git clone git@github.com:powerlang/powerlang.git powerlang
$ cd powerlang/bootstrap
$ curl https://get.pharo.org/64/80+vm | bash
$ ./pharo Pharo.image save bootstrap
$ ./pharo bootstrap.image eval --save "(IceRepositoryCreator new location: '..' asFileReference; createRepository) register"
$ ./pharo bootstrap.image metacello install tonel://./src BaselineOfPowerlang
MetacelloNotification: Fetched -> BaselineOfPowerlang-tonel.1 --- tonel://C:\dev\powerlang\bootstrap\src --- tonel://C:\dev\powerlang\bootstrap\src
MetacelloNotification: Loaded -> BaselineOfPowerlang-tonel.1 --- tonel://C:\dev\powerlang\bootstrap\src --- tonel://C:\dev\powerlang\bootstrap\src
MetacelloNotification: Loading baseline of BaselineOfPowerlang...
3. using HTTPS instead SSH (Just use an url in the form HTTPS://etc.git). I will try to clone the HTTPS variant.
3. using HTTPS instead SSH (Just use an url in the form HTTPS://etc.git). I will try to clone the HTTPS variant.
3. using HTTPS instead SSH (Just use an url in the form HTTPS://etc.git). I will try to clone the HTTPS variant.
3. using HTTPS instead SSH (Just use an url in the form HTTPS://etc.git). I will try to clone the HTTPS variant.
3. using HTTPS instead SSH (Just use an url in the form HTTPS://etc.git). I will try to clone the HTTPS variant.
[infinite loop]

我做错了吗?我该如何解决这个问题?

【问题讨论】:

    标签: pharo


    【解决方案1】:

    问题似乎与路径有关。

    我终于可以通过手动告诉 Iceberg .ssh 文件在哪里来解决它们(它应该已经知道 :/ 因为它们在标准目录中)。更改为以下行解决了问题:

    $ ./pharo bootstrap.image eval --save "IceCredentialsProvider useCustomSsh: true. IceCredentialsProvider sshCredentials publicKey: '`cygpath -w ~/.ssh/id_rsa.pub`'; privateKey: '`cygpath -w ~/.ssh/id_rsa`'. (IceRepositoryCreator new location: '..' asFileReference; createRepository) register"
    

    Iceberg 不支持将 ~ 用于 ssh 路径,也不支持 /c/Users/xxx 表示法,因此我们将其传递为转换为 Windows 样式的路径(cygwin -w ~/.ssh/id_rsa 被转换为 C:\Users\xxx\.ssh\id_rsa)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-27
      • 1970-01-01
      • 2011-09-20
      • 2012-05-29
      • 1970-01-01
      • 2011-07-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多