ไม่สามารถเปิดรหัส Visual Studio


10

ฉันติดตั้ง VS Code บนแล็ปท็อปของฉันด้วย Ubuntu 16.04 LTS ฉันได้ลองวิธีการติดตั้งหลายวิธีด้วยผลลัพธ์ที่เหมือนกัน เมื่อเร็ว ๆ นี้ผมทำตามคำแนะนำที่ "ใหม่" จาก Cactux ที่นี่ ฉันได้ลองเปิดแอปพลิเคชั่นสองวิธีโดยไม่มีผลกระทบ

  • เมื่อฉันเปิดโปรแกรมจาก 'แอปพลิเคชัน' ไอคอนจะปรากฏในตัวเรียกใช้งานประมาณ 15 วินาทีจากนั้นจะหายไป ไม่มีข้อผิดพลาดปรากฏขึ้น
  • เมื่อฉันเปิดเทอร์มินัลและประเภทcodeคำสั่งไม่ทำอะไรเลยและฉันจะได้รับพรอมต์ใหม่ภายในเวลาไม่ถึงวินาที

ฉันกำลังดิ้นรนกับสิ่งที่ต้องลองตั้งแต่ฉันค่อนข้างใหม่กับ Linux which codeผลผลิต/usr/bin/codeซึ่งเป็นสคริปต์ทุบตี ที่นี่ฉันอยู่นอกความลึก

เนื้อหาของสคริปต์

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

ดีบักเอาต์พุต (จากไดเร็กทอรีต่าง ๆ )

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

เนื้อหาของ 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

ความช่วยเหลือหรือคำแนะนำใด ๆ ที่ชื่นชม


1
ตรวจสอบให้แน่ใจว่าคุณได้อัปเดตแพ็คเกจของคุณแล้ว คุณสามารถตรวจสอบนี้กับคำสั่งเหล่านี้: 1) 2)sudo apt update sudo apt upgradeหากคุณได้รับข้อผิดพลาดใด ๆ ที่อยู่ข้อผิดพลาด จากนั้นลองเรียกใช้ apt จาก terminal และตรวจสอบข้อผิดพลาด
LD James

ทำงานได้เฉพาะฉัน `` `snap run
Thomas G.

คำตอบ:


14

ฉันพบปัญหาเดียวกันกับที่นี่ติดตั้งใหม่ของ Ubuntu 18.04 LTS ฉันติดตั้ง VS Code จาก conda

ค้นพบว่าถ้าคุณเรียกใช้ต่อไปนี้

code --verbose

มันจะบอกคุณว่าเกิดอะไรขึ้นกับรหัส ในกรณีของฉัน

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

โฟลเดอร์ ~ / .config / Code นั่นเองมีสิทธิ์การเข้าถึงรูทด้วยเหตุผลบางประการ ลบโฟลเดอร์โดยใช้ sudo

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

พยายามอีกครั้งเพื่อเรียกใช้รหัสและทำงานได้ดี


4

ผมมีปัญหาเดียวกัน. เช่นเดียวกับ Robin G และ Nezir แนะนำให้ฉันรู้ว่าเจ้าของ /home/user/.config/Code driectory คือ "root" อย่างไรก็ตามคุณสามารถเปลี่ยนความเป็นเจ้าของไดเรกทอรีนั้นแทนการลบออกได้

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

จำเป็นต้องใช้ตัวเลือก "-R" เพื่อเปลี่ยนความเป็นเจ้าของไฟล์และไดเรกทอรีซ้ำทั้งหมดภายใต้ไดเรกทอรีเป้าหมาย

หลังจากนี้ Visual Studio Code v. 1.27 บน Ubuntu 18.04 ทำงานได้ตามที่ควรจะเป็นในเครื่องของฉัน


อย่างน้อยฉันก็เรียนรู้สิ่งใหม่: chownคำสั่ง
Soma Mbadiwe

2

ดีบัก bash ด้วยคำสั่งที่ถูกต้อง

เพื่อแก้ปัญหาคุณควรใช้คำสั่งดังต่อไปนี้:

bash --debugger `which code`

สิ่งนี้จะเรียกใช้สคริปต์ทุบตีต่อบรรทัด ไปยังบรรทัดถัดไปเพียงแค่พิมพ์nและ ผลตอบแทน โพสต์เอาท์พุทกว่าที่เราจะเห็นมากขึ้น

การติดตั้งผ่าน snap (สำหรับรุ่น Ubuntu> 18.04)

BTW Ubuntu 18.04 LTS (ปล่อยระยะยาว) รองรับโค้ดโดยตรงและคุณสามารถติดตั้งผ่านแพ็คเกจ snap ได้:

แสดงเวอร์ชันและข้อมูลของ ubuntu ที่สนับสนุน snap:

snap info code

และเพื่อติดตั้ง

sudo snap install code 

ส่วนตัวผมชอบที่จะติดตั้งผ่าน apt ดังนั้นทำตามคำแนะนำนี้จาก microsoft:

การติดตั้ง VS Code

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'

จะเป็นการดาวน์โหลดคีย์ gpg และคัดลอกและสร้างไฟล์ apt จากนั้นคุณสามารถอัปเดตและติดตั้งรหัส vs :

sudo apt-get update
sudo apt-get install code
  • ข้อดีของวิธีการติดตั้งนี้คือคุณสามารถอัพเดต vscode อย่างง่าย ๆ โดยใช้คำสั่งapt-get update ทำงานได้ดีและฉันใช้vs codeกับปลั๊กอินกลุ่มเป็นเวลานานกว่า 2 ปี (c, c ++, python, md, latex, html, javascript ... )

ไม่มีลูกเต๋า ณ จุดนี้แม้ว่าฉันจริงสามารถรอ 18.04 ขอบคุณสำหรับทิป.
Adam



1

เปิดเทอร์มินัลของคุณและเรียกใช้คำสั่งต่อไปนี้:

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

    (แทนที่your_usernameด้วยชื่อผู้ใช้จริงของคุณ)

    Enterจากนั้นให้ใส่รหัสผ่านของคุณและกด

  2. code --verbose


0

รหัส VS อาจล้มเหลวในการเปิดหากคุณไม่จำเป็นต้องพึ่งพา

จากหน้านี้ :

sudo apt-get install -f # Install dependencies

ฉันหวังว่าประโยคหนึ่งจะเพียงพอที่จะอธิบายความหมายของ `การติดตั้งอ้างอิง '
Andrey Kudriavtsev

0
code --verbose

ทำเคล็ดลับสำหรับฉันคนเดียวเมื่อ Code ล้มเหลวในการเริ่มต้น (ติดขัด) หลังจากระบบ X ล่ม อย่างไรก็ตามไฟล์ที่เปิดไม่ได้เป็นไฟล์ล่าสุด แต่เป็นไฟล์โบราณบางไฟล์


0

ในกรณีของฉันเมื่อฉันวิ่งcode --verboseข้อผิดพลาดคือ:

ข้อผิดพลาด: ENOSPC: ถึงขีด จำกัด ของระบบสำหรับจำนวนผู้ดูไฟล์ถึง, ดู '/ snap / code'

ดังนั้นฉันจึงเพิ่มจำนวนผู้เฝ้าดูไฟล์ให้สูงสุดโดยการแก้ไข/etc/sysctl.confและเพิ่มสิ่งนี้ในตอนท้ายของไฟล์:

fs.inotify.max_user_watches=524288

จากนั้นฉันต้องเรียกใช้คำสั่งนี้เพื่อโหลดค่าในระบบ:

sudo sysctl -p

ตอนนี้ฉันสามารถเรียกใช้ VScode ได้โดยไม่มีปัญหา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.