Không thể mở Visual Studio Code


10

Tôi đã cài đặt Mã VS trên máy tính xách tay của mình với Ubuntu 16.04 LTS. Tôi đã thử nhiều phương pháp cài đặt với kết quả giống hệt nhau; gần đây nhất, tôi đã làm theo hướng dẫn "mới" từ Cactux tại đây . Tôi đã thử mở ứng dụng theo hai cách để không có hiệu quả.

  • Khi tôi mở chương trình từ 'Ứng dụng', biểu tượng sẽ hiển thị trong trình khởi chạy trong khoảng 15 giây và sau đó biến mất. Không có lỗi bật lên.
  • Khi tôi mở một thiết bị đầu cuối và gõ code, lệnh không làm gì cả và tôi nhận được một dấu nhắc mới trong chưa đầy một giây.

Tôi đang vật lộn với những gì cần thử vì tôi còn khá mới với Linux. which codesản lượng /usr/bin/code, đó là một kịch bản bash. Đây là nơi tôi vượt ra ngoài chiều sâu của mình.

Nội dung kịch bản

/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 $?

Đầu ra gỡ lỗi (từ các thư mục khác nhau)

~$ 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

Nội dung của PATH

~$ $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

Bất kỳ trợ giúp hoặc đề xuất được đánh giá cao.


1
Hãy chắc chắn rằng bạn đã cập nhật các gói của bạn. Bạn có thể xác minh điều này bằng các lệnh sau: 1) sudo apt update 2) sudo apt upgrade . Nếu bạn nhận được bất kỳ lỗi, giải quyết các lỗi. Sau đó thử chạy apt từ thiết bị đầu cuối và kiểm tra lỗi.
LD James

Chỉ điều này làm việc cho tôi `` `snap run code` ``
Thomas G.

Câu trả lời:


14

Tôi gặp vấn đề tương tự được mô tả ở đây, bản cài đặt mới của Ubuntu 18.04 LTS. Tôi đã cài đặt Mã VS từ conda.

Phát hiện ra rằng nếu bạn chạy như sau

code --verbose

Nó sẽ cho bạn biết những gì đang xảy ra với Code. Trong trường hợp của tôi

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

chắc chắn rằng thư mục ~ / .config / Code có quyền truy cập root vì một số lý do. Đã xóa thư mục bằng sudo.

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

Đã thử một lần nữa để chạy mã và nó hoạt động tốt.


4

Tôi đã từng gặp vấn đề tương tự. Giống như Robin G và Nezir đề nghị tôi nhận ra rằng chủ sở hữu của /home/user/.config/Code Driectory là "root". Tuy nhiên, bạn chỉ có thể thay đổi quyền sở hữu của thư mục đó thay vì xóa nó.

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

Tùy chọn "-R" là cần thiết để thay đổi đệ quy quyền sở hữu của tất cả các tệp và thư mục trong thư mục đích.

Sau đó, Visual Studio Code v. 1.27 trên ubfox 18.04 hoạt động như trên máy của tôi.


Ít nhất tôi đã học được một điều mới: chownmệnh lệnh
Soma Mbadiwe

2

Gỡ lỗi bash với lệnh chính xác

Để gỡ lỗi, bạn nên sử dụng lệnh sau:

bash --debugger `which code`

Điều này sẽ chạy dòng bash script trên mỗi dòng. Để đi đến dòng tiếp theo chỉ cần gõ ntrở lại . Đăng đầu ra hơn chúng ta sẽ thấy nhiều hơn.

Cài đặt qua snap (đối với phiên bản Ubuntu> 18.04)

BTW Ubuntu 18.04 LTS (Phát hành dài hạn) hiện hỗ trợ mã trực tiếp và bạn có thể cài đặt nó thông qua gói snap:

Hiển thị phiên bản và thông tin của snap được hỗ trợ trên Ubuntu:

snap info code

và để cài đặt nó

sudo snap install code 

Tôi cá nhân thích cài đặt nó thông qua apt. Do đó, hãy làm theo hướng dẫn này từ microsoft:

Cài đặt mã 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'

Điều này sẽ tải xuống khóa gpg và sao chép và tạo các tệp apt. Sau đó, bạn có thể chỉ cần cập nhật và cài đặt so với mã :

sudo apt-get update
sudo apt-get install code
  • Ưu điểm của phương pháp cài đặt này là bạn có thể cập nhật vscode đơn giản bằng lệnh apt-get update . Hoạt động tốt và tôi sử dụng vs mã với plugin vim trong hơn 2 năm (c, c ++, python, md, latex, html, javascript ...).

Không có con xúc xắc. Tại thời điểm này, tôi thực sự chỉ có thể đợi đến 18.04. Cảm ơn vì tiền hỗ trợ.
Adam


1

Thử trong thiết bị đầu cuối

code --user-data-dir

Đã làm cho tôi.


1

Mở terminal của bạn và chạy các lệnh sau:

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

    (Thay thế your_usernamebằng tên người dùng thực tế của bạn.)

    Sau đó cung cấp mật khẩu của bạn và nhấn Enter.

  2. code --verbose


0

Mã VS có thể âm thầm không mở nếu bạn không có phụ thuộc cần thiết.

Từ này trang:

sudo apt-get install -f # Install dependencies

Tôi hy vọng một câu là đủ để giải thích ý nghĩa của nó 'cài đặt phụ thuộc `
Andrey Kudriavtsev

0
code --verbose

Một mình tôi đã lừa tôi khi Code không khởi động được (bị kẹt) sau khi hệ thống X bị sập. Tuy nhiên, các tập tin được mở không phải là gần đây nhất, mà là một số cổ xưa.


0

Trong trường hợp của tôi khi tôi chạy code --verboselỗi là:

Lỗi: ENOSPC: Giới hạn hệ thống đối với số lượng người xem tệp đạt được, xem '/ snap / code'

Vì vậy, tôi đã tăng số lượng người xem tệp lên tối đa bằng cách sửa đổi /etc/sysctl.confvà thêm phần này vào cuối tệp:

fs.inotify.max_user_watches=524288

Sau đó, tôi đã phải chạy lệnh này để tải giá trị trong hệ thống:

sudo sysctl -p

Bây giờ tôi có thể chạy VScode mà không gặp vấn đề gì

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.