Ich versuche, IDEA auf Ubuntu 11.10 zu installieren. Zuerst habe ich openjdk-7-jdk
installiert. Dann habe ich versucht, die idea.sh
-Datei wie angewiesen auszuführen. Es beschwert sich jedoch:
ERROR: cannot start IntelliJ IDEA.
No JDK found to run IDEA. Please validate either IDEA_JDK, JDK_HOME or Java_HOME
environment variable points to valid JDK installation.
Press Enter to continue.
Beim Versuch, diese drei Variablen echo
zu verwenden, wird eine leere Zeile auf dem Bildschirm angezeigt. Wie und mit welchen Werten stelle ich diese Variablen ein und fahre mit der Installation fort? Vielen Dank.
UPDATE:
Es wird empfohlen, die gebündelte JetBrains Runtime unter Linux zu verwenden, um IntelliJ IDEA auszuführen. Momentan benötigt IntelliJ IDEA Java 8, um auf dieser Plattform ausgeführt zu werden. Es ist möglich, auf ein System oder eine andere Java Version zu wechseln, bitte siehe FAQ .
Ursprüngliche Antwort (veraltet):
Es wird empfohlen, OpenJDK 1.7+ oder Oracle JDK zu verwenden, um IntelliJIDEA unter Linux auszuführen. OpenJDK 1.6 wird aufgrund der bekannten Leistungs- und Grafikprobleme nicht unterstützt.
Ab IntelliJ IDEA 16 wird benutzerdefinierte JRE mit Linux-Distributionen gebündelt.
Der schwierige Teil ist, dass Oracle JDK nicht mehr über .deb-Pakete verteilt wird und Sie es nicht einfach mit apt-get oder Ubuntu Software Center installieren können.
Ihre Site ist auch verwirrend und Sie können JRE statt des JDKs einfach herunterladen (das nicht funktioniert, da IntelliJ IDEA tools.jar benötigt, das im JRE-Paket fehlt).
Hier ist die richtige URL für die JDK-Downloads (Version 1.6.0_29). Laden Sie unter dieser URL die entsprechende .bin-Datei herunter, z. B. jdk-6u29-linux-i586.bin Wenn Sie 32-Bit Java oder jdk-6u29-linux-x64.bin für 64 benötigen -Bit-Version.
chmod +x jdk-6u29-linux-i586.bin
./jdk-6u29-linux-i586.bin
im aktuellen Verzeichnis installieren.
Fügen Sie in bin/idea.sh Folgendes in die zweite Zeile ein:
export IDEA_JDK=/path/to/jdk1.6.0_29
Befindet sich normalerweise unter /usr/lib/jvm/<YOUR_JDK>
. Jetzt sollte IntelliJ IDEA unter Oracle JDK 1.6.0_29 einwandfrei starten. Sie können dies in Help
| überprüfen About
.
ich stehe auch vor einer Frage ... am ersten Tag funktioniert alles ohne Probleme, aber dann ... Ich löse ein Problem: Fügen Sie der Datei idea.sh
Zeile mit Pfad zu JDK hinzu IDEA_JDK="/opt/Java/32/jdk1.6.0_45/"
füge nach 46 zeile hinzu
Sie können Java_HOME
variable setzen und zu Ihrer PATH
hinzufügen, indem Sie folgende Schritte ausführen. Öffnen Sie als root /etc/bash.bashrc
und fügen Sie am Ende der Datei Folgendes hinzu.
Java_HOME=/usr/lib/jvm/Java
export Java_HOME
Versuchen Sie beim Neustart Folgendes auszuführen:
$ echo $Java_HOME
Ich hatte dieses Problem einige Male ...
dann vom Terminal aus starten:
$ idea projects-name;
ODER 2: Navigieren Sie in IDEA_HOME/bin und führen Sie es von dort aus aus.
wenn Sie Java installiert haben, versuchen Sie es
type Java
wenn du so siehst
Java is /usr/Java/default/Java
dann sollten Sie .bash_profile bearbeiten und hinzufügen
export Java_HOME=/usr/Java/default
dann ausführen
source .bash_profile
wenn Sie Java nicht installieren, sollten Sie manuell oder automatisch installieren.
Sie installieren JDK 8 mit:
Sudo apt-get install openjdk-8-jdk
Manchmal liegt das Problem in der Standardversion von Java, die Sie ausführen. Verwenden Sie dazu update-alternatives
, um es zu ändern:
Sudo update-alternatives --config Java
Sehen Sie, wie ich es gemacht habe:
$ Sudo update-alternatives --config Java
There are 2 choices for the alternative Java (providing /usr/bin/Java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/Java-7-openjdk-AMD64/jre/bin/Java 1071 auto mode
1 /usr/lib/jvm/Java-7-openjdk-AMD64/jre/bin/Java 1071 manual mode
2 /usr/lib/jvm/Java-8-openjdk-AMD64/jre/bin/Java 1069 manual mode
Press enter to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/Java-8-openjdk-AMD64/jre/bin/Java to provide /usr/bin/Java (Java) in manual mode
Und jetzt läuft Intellij IDEA 2016.3 gut.
Sie können Java_HOME eigentlich in bash konfigurieren. IDEA verwendet jedoch Javac und Java aus Standard-Bin-Ordnern. Sie müssen also so konfigurieren.
verwenden Sie diesen Befehl, um den Ordner "jvm" unter "/ usr/lib/jvm" zu erstellen
Sudo mv -r ~/jdk-xx-version /usr/lib/jvm
verwenden Sie diese Befehle, um Java_HOME zu konfigurieren
Sudo update-alternatives --install "/usr/bin/Java" "Java" "/usr/lib/jvm/jdk-xx-version/bin/Java" 1
Sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk-xx-version/bin/javac" 1
Sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk-xx-version/bin/javaws" 1
Hier ist ein Bash-Skript für Entwickler, das IDEA installiert, sodass Sie es über idea.sh
von der Shell aus ausführen können.
Es auch:
#!/bin/bash
#Author: Yucca Nel http://thejarbar.org
#Modify these variables as needed...
tempWork=/tmp/work
defaultStartScript=/etc/init.d/rc.local
defaultIDEA=11.0.1
locBin=/usr/local/bin
read -p "Please [Enter] full path name of your local startup script ($defaultStartScript is the default). Please
make sure on this before providing a value by consulting documentation for your system:" locStartScript
locStartScript=${locStartScript:-$defaultStartScript}
read -p "Please [Enter] IDEA Version ($defaultIDEA is default):" ideaVersion
ideaVersion=${ideaVersion:-$defaultIDEA}
if [ ! -f $locStartScript ]
then
echo "The file you provided could not be found. Remember to include the full path and try again. Exiting in 7 secs..."
sleep 7
exit 1
fi
mkdir -p /$tempWork
cd /$tempWork
Sudo wget http://download-ln.jetbrains.com/idea/ideaIC-$ideaVersion.tar.gz;
tar -zxvf ./*;
#Move it to a better location...
mv ./idea-IC-* $HOME/;
Sudo ln -f -s $HOME/idea-*/bin/* /usr/bin/;
#If you use VirtualBox , you can share your projects between Host and guest. Name of shared
#folder must match 'IdeaProjects'
mkdir -p $HOME/IdeaProjects
if [ -f /sbin/mount.vboxsf ]
then
Sudo /sbin/umount $HOME/IdeaProjects
Sudo /sbin/mount.vboxsf IdeaProjects $HOME/IdeaProjects
fi
if mountpoint -q ~/IdeaProjects
then
#Add it to the start script to automate process...
if ! grep "Sudo /sbin/mount.vboxsf IdeaProjects $HOME/IdeaProjects" $locStartScript
then
echo "Sudo /sbin/mount.vboxsf IdeaProjects $HOME/IdeaProjects" | Sudo tee -a $locStartScript
fi
Sudo chmod +x $locStartScript
#Create a mount and unmount script file...
rm -rf $tempWork/*
echo '#!/bin/bash' > $tempWork/idea-mount.sh
echo "Sudo /sbin/mount.vboxsf IdeaProjects $HOME/IdeaProjects" >> $tempWork/idea-mount.sh
echo "echo 'mounted IdeaProjects'" >> $tempWork/idea-mount.sh
echo "exit 0" >> $tempWork/idea-mount.sh
echo '#!/bin/bash' > $tempWork/idea-umount.sh
echo "Sudo umount $HOME/IdeaProjects" >> $tempWork/idea-umount.sh
echo "echo 'unmounted IdeaProjects'" >> $tempWork/idea-mount.sh
echo 'exit 0' >> $tempWork/idea-umount.sh
#Script for mounting ALL VirtualBox shared solders....
#If there isn't one create one...
if [ ! -f $locBin/mount-all-from-Host.sh ]
then
echo '#!/bin/bash' > $tempWork/mount-all-from-Host.sh
echo "Sudo /sbin/mount.vboxsf IdeaProjects $HOME/IdeaProjects" | Sudo tee -a $tempWork/mount-all-from-Host.sh
echo "exit 0" | Sudo tee -a $tempWork/mount-all-from-Host.sh
#Otherwise if there is one, but no mount, add one...
Elif ! grep "Sudo /sbin/mount.vboxsf IdeaProjects" $locBin/mount-all-from-Host.sh
then
Sudo sed -ie '$d' $locBin/mount-all-from-Host.sh
echo "Sudo /sbin/mount.vboxsf IdeaProjects $HOME/IdeaProjects" | Sudo tee -a $locBin/mount-all-from-Host.sh
echo "exit 0" | Sudo tee -a $locBin/mount-all-from-Host.sh
fi
#Script for unmounting ALL VirtualBox shared folders...
#If there isn't one create one...
if [ ! -f $locBin/umount-all-from-Host.sh ]
then
echo '#!/bin/bash' > $tempWork/umount-all-from-Host.sh
echo "Sudo umount -a -t vboxsf" | Sudo tee -a $tempWork/umount-all-from-Host.sh
echo "echo 'unmounted all VirtualBox shared folders'" | Sudo tee -a $tempWork/umount-all-from-Host.sh
echo "exit 0" | Sudo tee -a $tempWork/umount-all-from-Host.sh
fi
Sudo chmod +x $tempWork/*
Sudo mv -f $tempWork/*.sh $locBin/
rm -rf $tempWork
fi
Sudo rm -rf $tempWork
exit 0