Ubuntu 22.04 に VSCode をインストールする

ubuntu

概要

以前に、『UbuntuにVSCodeをインストールする3つの方法』というタイトルで記事を書いたことがありました。その記事は、Ubuntu 18.04について書いたもので評判も良いものでした。しかし、今となっては古くなってきたため、改めてUbuntu 22.04について書いてみました。

Visual Studio Code

Stack Overflow Developer Survey 2022という調査ではVisual Studio Code(VSCode)は74%以上の人がIDEとして利用していて断トツの1位に選ばれています。2021年度では71%でしたが、より多くの人がVSCodeを使うようになっています。拡張機能が非常に充実していて、個人的には特にremote containerがDockerを使った開発と相性がよく使いやすいためおすすめです。

環境

  • Ubuntu 22.04
  • Visual Studio Code 1.68.1

インストール方法

VSCodeの公式サイトには下記の3つのインストール方法が書かれてあります。2の方法は1の方保を手動で行っているので実質同じ方法です。

  1. debパッケージファイルを指定してapt installコマンドでインストールする方法
  2. リポジトリと鍵を手動で登録しインストールする方法
  3. snapパッケージからインストールする方法

1. debパッケージを指定してapt installでインストールする

ダウンロード

まずは、debパッケージファイルが必要です。VSCodeの公式サイトからでdebパッケージをダウンロードしてきます。

インストール前

この作業は必須ではありません。公式サイトの説明にaptリポジトリと署名鍵のインストールを自動的に行うとあります。これを確認するための作業です。

Installing the .deb package will automatically install the apt repository and signing key to enable auto-updating using the system’s package manager.

Visual Studio Code公式サイト – Visual Studio Code on Linux – https://code.visualstudio.com/docs/setup/linux

まず、リポジトリについてです。リポジトリの一覧を表示するには、 apt-add-repository --list を。結果はubuntuのリポジトリのみで、マイクロソフトのものは見当たりません。

$ sudo apt-add-repository --list
deb http://jp.archive.ubuntu.com/ubuntu/ jammy universe main restricted multiverse
deb http://jp.archive.ubuntu.com/ubuntu/ jammy-updates universe main restricted multiverse
deb http://jp.archive.ubuntu.com/ubuntu/ jammy-backports universe main restricted multiverse
deb http://security.ubuntu.com/ubuntu jammy-security universe main restricted multiverse

もしくは、 /etc/apt/sources.list.d/ を表示します。この例では、vscodeに関するものは何も表示されていません。

$ ls /etc/apt/sources.list.d/

次に署名鍵を確認します。lsコマンドで/etc/apt/trusted.gpg.d/を表示します。この例では、microsoftに関するものはありません。

$ ls /etc/apt/trusted.gpg.d/
ubuntu-keyring-2012-cdimage.gpg  ubuntu-keyring-2018-archive.gpg

このように、インストール前はそれらしいリポジトリや署名鍵はインストールされていないことが確認できました。

インストール

それでは、インストールしてみましょう。端末からapt install <パッケージ名.deb>を実行します。

$ sudo apt install ./code_1.68.1-1655263094_amd64.deb

インストールが完了したら、VSCodeを起動してみましょう。codeコマンドで起動できます。

$ code

エラー例

カレントディレクトリの./をつけないとエラーが出てしまうので気をつけてください。

$ sudo apt install code_1.68.1-1655263094_amd64.deb 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package code_1.68.1-1655263094_amd64.deb

管理者権限がないとインストールできません

$ apt install code_1.68.1-1655263094_amd64.deb 
E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?

インストール後

では、リポジトリが登録されたか確認してみましょう。インストール前でやったのと同じ、apt-add-repository --list を使います。最後の行にmicrosoftやcodeの文字が確認できます。

$ sudo add-apt-repository --list
deb http://jp.archive.ubuntu.com/ubuntu/ jammy main universe restricted multiverse
deb http://jp.archive.ubuntu.com/ubuntu/ jammy-updates main universe restricted multiverse
deb http://jp.archive.ubuntu.com/ubuntu/ jammy-backports main universe restricted multiverse
deb http://security.ubuntu.com/ubuntu jammy-security main universe restricted multiverse
deb [arch=amd64,arm64,armhf] http://packages.microsoft.com/repos/code stable main

もしくは、/etc/apt/sources.list.d/を確認します。すると、vscode.listが追加されています。このファイルの中身を表示すると、リポジトリに関する設定が記述されていることがわかります。

$ cat /etc/apt/sources.list.d/vscode.list 
### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost.
deb [arch=amd64,arm64,armhf] http://packages.microsoft.com/repos/code stable main

次に、署名鍵を確認します。lsコマンドで/etc/apt/trusted.gpg.d/を表示します。すると、microsoft.gpgが追加されていることがわかります。

$ ls /etc/apt/trusted.gpg.d/
microsoft.gpg  ubuntu-keyring-2012-cdimage.gpg  ubuntu-keyring-2018-archive.gpg

このように、確かに自動でリポジトリと署名鍵がインストールされていることが確認できました。

アンインストール

apt remove codeでアンインストールできます。

$ sudo apt remove code

また、リポジトリの削除までしたい場合は、vscode.listを削除することで可能です。

$ sudo rm /etc/apt/sources.list.d/vscode.list

同様に、署名鍵の削除までしたい場合は、microsoft.gpgを削除することで可能です。

$ sudo rm /etc/apt/trusted.gpg.d/microsoft.gpg

リポジトリを削除せず、無効にしたいときは add-apt-repository --remove <リポジトリ名> を使います。

$ sudo add-apt-repository --remove 'deb [arch=amd64,arm64,armhf] http://packages.microsoft.com/repos/code stable main'
リポジトリ: 'deb [arch=amd64,arm64,armhf] http://packages.microsoft.com/repos/code stable main'
概要:
Archive for codename: stable components: main
より詳しい情報: http://packages.microsoft.com/repos/code
リポジトリを削除しています。
続けるには「Enter」キーを、中止するにはctrl-cを押してください。
-----(省略)-----
$ cat /etc/apt/sources.list.d/vscode.list 
### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost.
# deb [arch=amd64,arm64,armhf] http://packages.microsoft.com/repos/code stable main

2. リポジトリと鍵を手動で登録しインストールする方法

必要なパッケージをインストールします。

$ sudo apt-get install wget gpg

署名鍵の登録

まず、マイクロソフトの署名鍵をダウンロードしてきます。そのときに、バイナリへ変換して、package.microsoft.gpgというファイルが作成されます。 バイナリへの変換はgpg --dearmorで行います。

$ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg

次に、packages.microsoft.gpgの所有権とパーミッションを変更して/etc/apt/keyrings/ディレクトリ以下に移動します。installコマンドを使うと一度に行うことができます。

$ sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg

最後に、コピー元のファイルはいらないので削除します。

$ rm -f packages.microsoft.gpg

リポジトリの登録

次にリポジトリの登録です。さきほど作成した署名鍵と登録したいリポジトリを紐付けた記述になっています。

$ sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'

$ cat /etc/apt/sources.list.d/vscode.list
deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main

インストール

まず、必要なパッケージのインストールをしておきます。

$ sudo apt install apt-transport-https

では、vscodeのインストールをします。

$ sudo apt update
$ sudo apt install code

動作確認

無事にインストールが完了したら、VSCodeを起動してみましょう。

$ code

ようやくインストールできましたが、少し大変ですね。当たり前ですが、自動でリポジトリと署名鍵を登録してくれる1のやり方のほうが楽でした。

アンインストール

apt remove codeでアンインストールできます。

$ sudo apt remove code

また、リポジトリの削除までしたい場合は、vscode.listを削除することで可能です。

$ sudo rm /etc/apt/sources.list.d/vscode.list

同様に、署名鍵の削除までしたい場合は、microsoft.gpgを削除することで可能です。

$ sudo rm /etc/apt/keyrings/packages.microsoft.gpg

3. snapパッケージからインストールする方法

インストール

最後にsnapパッケージでインストールしてみましょう

$ sudo snap install --classic code
code 784b0177 from Visual Studio Code (vscode) installed

snap listでインストールされたか確認ができます。

$  snap list | grep code
code       784b0177       106   latest/stable    vscode**     classic

動作確認

インストールが完了したら、VSCodeを起動してみましょう

$ code

VSCodeが表示されればインストール完了です。

もしcodeが実行できなかったらシステムの再起動をしてください。パスの設定が反映されていない可能性があります。

アンインストール

もしアンインストールしたいときは、snap remove codeでできます。

$ sudo snap remove code
code remove

コメント