【问题标题】:Unable to locate an executable at "/Library/Java/JavaVirtualMachines/..."无法在“/Library/Java/JavaVirtualMachines/...”中找到可执行文件
【发布时间】:2020-09-02 23:02:39
【问题描述】:

我想安装一个 NPM express 生成器:

sudo apt npm install -g express-generator

它会抛出以下错误:

Unable to locate an executable at "/Library/Java/JavaVirtualMachines/openjdk-14.0.1.jdk/Contents/Home/bin/apt" (-1)

我在此路径中安装了 Java(它不在 System/Library/ 中 - 也许这就是问题所在?):

'MacintoshSSD/Library/Java/JavaVirtualMachines/openjdk-14.0.1.jdk/Contents/Home'

我的 .bash_profile 看起来像这样:

export JAVA_HOME=$(/usr/libexec/java_home)

如果我检查 JAVA_HOME 它看起来不错:

echo $JAVA_HOME /Library/Java/JavaVirtualMachines/openjdk-14.0.1.jdk/Contents/Home

.. 和 Java 版本:

java --version openjdk 14.0.1 2020-04-14 OpenJDK Runtime Environment (build 14.0.1+7) OpenJDK 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing)

知道为什么它仍然可以找到可执行文件吗?

我在另一个帖子中读到了预装的 macOS Java 版本和 Orcalce Java 版本 enter link description here 之间可能存在的冲突,但我无法解决..

你能解释一下 java_home 和 JAVA_HOME 的区别吗?

【问题讨论】:

    标签: java macos


    【解决方案1】:

    抱歉,我刚刚看到有问题...

    Java 中曾经有一个apt 工具,但现在没有了。您的错误是使用 linux 命令行。在许多 linux 系统上,另一个名为 apt 的工具用于安装软件。

    查看npm 文档,了解如何在您的 Mac 上安装 npm,因为有不同的方法可以做到。

    安装npm 后,运行sudo npm install -g express-generator(此处没有apt)。

    • 错误信息说明

      Java apt-tool 在 JDK 8 中是 removed。但由于 JAVA_HOME/bin 通常不在 Mac 上的 PATH 上,Apple 为 JAVA_HOME 下的所有命令提供了简单的包装器。 apt 仍然有这样的包装器,它试图从您的 Java 安装中运行同名的程序。这就是您收到该错误消息的原因。

    • 预装的 macOS Java 版本与 Orcalce Java 版本之间的冲突:

      Apple stopped pre-installing Java in macOS 10.7 所以这应该不是问题。

    • java_home 和 JAVA_HOME 的区别:

      JAVA_HOME 是一个指向 Java 安装的环境变量。 java_home 是 macOS 中的一个实用程序,通过列出已安装的 Java 版本和用于 JAVA_HOME 的值,可以更轻松地正确设置 JAVA_HOME。

    【讨论】:

    • 非常感谢!我浪费了几个小时,因为我认为这是 Java 的问题..
    • "如何在你的 Mac 上安装 nom" -- 你的意思是npm
    猜你喜欢
    • 2021-07-05
    • 1970-01-01
    • 2020-05-07
    • 2019-08-01
    • 1970-01-01
    • 2012-06-08
    • 1970-01-01
    • 2021-12-14
    • 2013-08-15
    相关资源
    最近更新 更多