Nie można otworzyć programu Visual Studio Code

10

Zainstalowałem VS Code na moim laptopie z Ubuntu 16.04 LTS. Próbowałem wielu metod instalacji z identycznymi wynikami; ostatnio postępowałem zgodnie z „nowymi” instrukcjami Cactux tutaj . Próbowałem otworzyć aplikację na dwa sposoby bezskutecznie.

  • Po otwarciu programu z poziomu „Aplikacje” ikona jest wyświetlana w programie uruchamiającym przez około 15 sekund, a następnie znika. Nie pojawia się błąd.
  • Kiedy otwieram terminal i piszę code, polecenie nic nie robi i pojawia się nowy monit w niecałą sekundę.

Walczę z tym, co wypróbować, ponieważ jestem stosunkowo nowy w Linuksie. which codedaje /usr/bin/code, co jest skrypt bash. To tutaj wychodzę poza moją głębię.

Treść skryptu

/usr/bin$ cat code
#!/usr/bin/env bash
#
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.

# If root, ensure that --user-data-dir or --file-write is specified
if [ "$(id -u)" = "0" ]; then
    for i in $@
    do
        if [[ $i == --user-data-dir || $i == --user-data-dir=* || $i == --file-write ]]; then
            CAN_LAUNCH_AS_ROOT=1
        fi
    done
    if [ -z $CAN_LAUNCH_AS_ROOT ]; then
        echo "You are trying to start vscode as a super user which is not recommended. If you really want to, you must specify an alternate user data directory using the --user-data-dir argument." 1>&2
        exit 1
    fi
fi

if [ ! -L $0 ]; then
    # if path is not a symlink, find relatively
    VSCODE_PATH="$(dirname $0)/.."
else
    if which readlink >/dev/null; then
        # if readlink exists, follow the symlink and find relatively
        VSCODE_PATH="$(dirname $(readlink -f $0))/.."
    else
        # else use the standard install location
        VSCODE_PATH="/usr/share/code"
    fi
fi

ELECTRON="$VSCODE_PATH/code"
CLI="$VSCODE_PATH/resources/app/out/cli.js"
ELECTRON_RUN_AS_NODE=1 "$ELECTRON" "$CLI" "$@"
exit $?

Wyjście debugowania (z różnych katalogów)

~$ bash -x code
++ id -u
+ '[' 1000 = 0 ']'
+ '[' '!' -L code ']'
++ dirname code
+ VSCODE_PATH=./..
+ ELECTRON=./../code
+ CLI=./../resources/app/out/cli.js
+ ELECTRON_RUN_AS_NODE=1
+ ./../code ./../resources/app/out/cli.js
/usr/bin/code: line 35: ./../code: No such file or directory
+ exit 127

/usr/bin$ bash -x code
++ id -u
+ '[' 1000 = 0 ']'
+ '[' '!' -L code ']'
+ which readlink
+++ readlink -f code
++ dirname /usr/share/code/bin/code
+ VSCODE_PATH=/usr/share/code/bin/..
+ ELECTRON=/usr/share/code/bin/../code
+ CLI=/usr/share/code/bin/../resources/app/out/cli.js
+ ELECTRON_RUN_AS_NODE=1
+ /usr/share/code/bin/../code /usr/share/code/bin/../resources/app/out/cli.js
+ exit 0

Zawartość ŚCIEŻKI

~$ $PATH
bash: /home/adam/anaconda3/bin:/home/adam/anaconda3/bin:/home/adam/bin:/home/adam/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin: No such file or directory

Każda pomoc lub sugestie są mile widziane.

Adam
źródło
1
Upewnij się, że masz zaktualizowane pakiety. Możesz to sprawdzić za pomocą następujących poleceń: 1) sudo apt update 2) sudo apt upgrade . Jeśli wystąpią jakiekolwiek błędy, usuń je. Następnie spróbuj uruchomić apt z terminala i sprawdź błędy.
LD James
Tylko to zadziałało dla mnie `` Snap-run code ''
Thomas G.

Odpowiedzi:

14

Miałem ten sam problem opisany tutaj, nową instalację Ubuntu 18.04 LTS. Zainstalowałem VS Code z Conda.

Odkryto, że jeśli uruchomisz następujące

code --verbose

Powie ci, co się dzieje z Code. W moim przypadku

code --verbose
[main 20:19:26] Startup error: 
Error: EACCES: permission denied, mkdir '/home/<user>/.config/Code/CachedData'

z pewnością z jakiegoś powodu folder ~ / .config / Code miał uprawnienia dostępu do katalogu głównego. Usunięto folder za pomocą sudo.

rm -rf /home/<user>/.config/Code 

Próbowałem ponownie uruchomić kod i działa dobrze.

Robin G.
źródło
4

Miałem ten sam problem. Tak jak sugerowali Robin G i Nezir, zdałem sobie sprawę, że właścicielem katalogu /home/user/.config/Code jest „root”. Możesz jednak zmienić własność tego katalogu zamiast go usuwać.

sudo chown -R user /home/user/.config/Code

Opcja „-R” jest wymagana, aby rekurencyjnie zmieniać własność wszystkich plików i katalogów w katalogu docelowym.

Następnie Visual Studio Code v. 1.27 na Ubuntu 18.04 działa tak, jak powinien na moim komputerze.

Cheveyotala
źródło
Przynajmniej nauczyłem się czegoś nowego: chownpolecenie
Soma Mbadiwe
2

Debuguj bash za pomocą poprawnego polecenia

Aby debugować, należy użyć następującego polecenia:

bash --debugger `which code`

Spowoduje to uruchomienie wiersza skryptu bash na wiersz. Aby przejść do następnego wiersza, po prostu wpisz n i wróć . Opublikuj wynik, niż zobaczymy więcej.

Instalacja za pomocą przystawki (dla wersji Ubuntu> 18.04)

BTW Ubuntu 18.04 LTS (wersja długoterminowa) obsługuje teraz kod bezpośrednio i można go zainstalować za pomocą pakietu Snap:

Pokaż wersję i informacje o przystawce obsługiwanej przez ubuntu:

snap info code

i zainstalować

sudo snap install code 

Osobiście wolę zainstalować go za pośrednictwem apt. Dlatego postępuj zgodnie z tą instrukcją z Microsoft:

Instalowanie kodu VS

curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'

Spowoduje to pobranie klucza gpg, skopiowanie i utworzenie plików apt. Następnie możesz po prostu zaktualizować i zainstalować kod vs :

sudo apt-get update
sudo apt-get install code
  • Zaletą tej metody instalacji jest możliwość prostej aktualizacji vscode za pomocą polecenia apt-get update . Działa dobrze i używam kodu vs z wtyczką vim od ponad 2 lat (c, c ++, python, md, latex, html, javascript ...).
abu_bua
źródło
Nie ma kości. W tym momencie jednak mogę poczekać na 18.04. Dzięki za wskazówkę.
Adam,
1

Spróbuj w terminalu

code --user-data-dir

Pracował dla mnie.

Sarawgeek
źródło
1

Otwórz terminal i uruchom następujące polecenia:

  1. sudo rm -rf /home/your_username/.config/Code

    (Zamień na your_usernameswoją rzeczywistą nazwę użytkownika.)

    Następnie podaj hasło i naciśnij Enter.

  2. code --verbose

Nkosinathi Sola
źródło
0

Kod VS może po cichu nie zostać otwarty, jeśli nie masz wymaganych zależności.

Z tej strony:

sudo apt-get install -f # Install dependencies
Andrey Kudriavtsev
źródło
Mam nadzieję, że jedno zdanie wystarczy, aby wyjaśnić, co to znaczy „zainstalować zależności”
Andrey Kudriavtsev,
0
code --verbose

sama zrobiła dla mnie lewę, gdy Code nie uruchomił się (zaciął się) po awarii systemu X. Jednak otwarte pliki nie były najnowsze, ale niektóre starożytne.

Tero Lahtinen
źródło
0

W moim przypadku, gdy uruchomiłem, code --verbosebłąd był następujący:

Błąd: ENOSPC: Osiągnięto limit systemowy dla liczby obserwatorów plików, obejrzyj „/ snap / code”

Więc zwiększyłem liczbę obserwatorów plików do maksimum, modyfikując /etc/sysctl.confi dodając to na końcu pliku:

fs.inotify.max_user_watches=524288

Następnie musiałem uruchomić to polecenie, aby załadować wartość do systemu:

sudo sysctl -p

Teraz mogę uruchomić VScode bez problemów

Alex Jolig
źródło