【问题标题】:sdkman on cygwin can't installcygwin上的sdkman无法安装
【发布时间】:2019-10-23 20:28:21
【问题描述】:

我正在设置一台新机器并在 Cygwin 上安装 sdkman 以安装 Java。我在我以前的机器上也有这个精确的设置,也是 Win 10。

安装了 Cygwin,sdkman 需要安装 zip 和 unzip 包。现在我收到以下错误:

$ sdk i java 11.0.3-zulu

Downloading: java 11.0.3-zulu

In progress...

Warning: Failed to create the file
Warning: /home/whyph/.sdkman/tmp/D2txrZkztdcZKSIltTtxclUhHkzF9yIf.bin: No such
Warning: file or directory

curl: (23) Failed writing body (0 != 14095)
mv: cannot stat '/home/whyph/.sdkman/tmp/D2txrZkztdcZKSIltTtxclUhHkzF9yIf.bin': No such file or directory

尝试禁用 Windows 防火墙并以管理员身份运行 Cygwin,均未更改错误。在我的上一台机器上开箱即用,但不知道有什么不同。

【问题讨论】:

  • 按照建议,我更新到最新的 Cygwin 并将 curl 添加到 Cygwin 设置中。注意:我不必重新安装 Cygwin 或 SDKMAN。

标签: windows-10 cygwin sdkman


【解决方案1】:

我最近遇到了同样的问题,但我设法让它工作。

在sdkman源文件中,我修改了.sdkman/src/sdkman-install.sh第150行。

我用经典重定向“>”替换了下面行的“--output”。 在我刚刚重新启动 cygwin 之后,命令终于奏效了。

__sdkman_secure_curl_download "${download_url}" --output "${binary_input}"

希望有帮助!

【讨论】:

  • 欣赏它,但这并没有为我解决它。幸运的是,我找到了解决方案,请参阅我的答案。
【解决方案2】:

我发现了问题 - 错误的卷曲。事实证明,Windows 10 现在带有 curl,它就在你的道路上。我以为它是 Cygwin 的基本包之一,但事实并非如此,而且 Windows 版本与 SDKMAN 不兼容,即使它可以安装它。修复:

  1. 根据https://sdkman.io/install 卸载部分删除 SDKMAN
  2. 关闭 Cygwin shell
  3. 重新运行 Cygwin 设置并确保 curl、zip、unzip 和 tar 包 已安装(检查安装说明以防更多 自撰写本文以来添加了依赖项)
  4. 按照说明安装 SDKMAN

【讨论】:

    【解决方案3】:

    最近我遇到了同样的问题,原因很简单......我忘记在我的Cygwin上安装cURL。希望对您有所帮助!

    【讨论】:

    • 确实,命令which curl 应该产生类似/usr/bin/curl 的东西。而不是一些晦涩难懂的特定于 Windows 的位置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-14
    • 2016-09-22
    • 1970-01-01
    • 2022-01-21
    相关资源
    最近更新 更多