User9123
User9123

Reputation: 774

JDK is installed on mac but i'm getting "The operation couldn’t be completed. Unable to locate a Java Runtime that supports apt." sudo apt update

I'm trying to run the command sudo apt update on my terminal in MacOS

I'm getting this message in response: The operation couldn’t be completed. Unable to locate a Java Runtime that supports apt. Please visit http://www.java.com for information on installing Java.

I saw a similar question here, however even though I made sure to install the JDK like the solution suggested I'm still getting the same response.

I also tried pasting

export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"
export JAVA_HOME="$HOME/.jenv/versions/`jenv version-name`"

Into my .zshrc.save folder and had no luck.

When I run java -version in the terminal this is what I get back:

java version "15.0.2" 2021-01-19
Java(TM) SE Runtime Environment (build 15.0.2+7-27)
Java HotSpot(TM) 64-Bit Server VM (build 15.0.2+7-27, mixed mode, sharing)

Upvotes: 42

Views: 127401

Answers (5)

Shawn
Shawn

Reputation: 531

If anyone gets this using Expo React Native from an update the answer is in their docs

Specifically

brew install --cask zulu@17

# Get path to where cask was installed to double-click installer
brew info --cask zulu@17

After you install the JDK, update your JAVA_HOME environment variable. If you used above steps, JDK will likely be at 

/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home

The Zulu OpenJDK distribution offers JDKs for both Intel and M1 Macs. This will make sure your builds are faster on M1 Macs compared to using an Intel-based JDK.

If you have already installed JDK on your system, we recommend JDK 17. You may encounter problems using higher JDK versions.

In your ~/.bash_profile or ~/.zprofile insert the following:

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

Don't forget to shut down your terminals and reopen after doing this.

Upvotes: 1

zhxh
zhxh

Reputation: 159

Use brew instead of sudo apt, if you're using Mac.

Upvotes: 1

Bharat Lalwani
Bharat Lalwani

Reputation: 1530

The below commands worked for me.

First, install the homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Then set the Android Studio Java path to the Home(If you have Android Studio). If not then you take the respective Java path & export it to the JAVA Home path.

export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/Contents/Home

Upvotes: 1

Nitin Jha
Nitin Jha

Reputation: 1891

Install Homebrew on your Mac Machine

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

For the system Java wrappers to find this JDK, symlink it with

sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

If you need to have openjdk first in your PATH, run:

echo 'export PATH="/usr/local/opt/openjdk/bin:$PATH"' >> ~/.profile

For compilers to find openjdk you may need to set:

 export CPPFLAGS="-I/usr/local/opt/openjdk/include"

Upvotes: 6

rzwitserloot
rzwitserloot

Reputation: 103763

20 years ago, java shipped with a tool called apt: Annotation Processor Tool. This tool was obsolete not much later.

What that update-node-js-version is talking about, is a completely and totally unrelated tool: It's the Advanced Package Tool, which is a tool to manage installations on debian and ubuntu - linux distros. You do not want to run this on a mac, and the instructions you found are therefore completely useless: That is how to update node-js on linux. Your machine isn't linux.

Search around for answers involving brew, which is the go-to equivalent of apt on mac. And completely forget about java - this has NOTHING to do with java - that was just a pure coincidence.

Upvotes: 94

Related Questions