やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

Raspberry PiにVisual Studio Codeをインストールしてみた

 できた。

結果

f:id:ytyaru:20190130200012p:plain

 IDEでなくテキストエディタだった。テンプレートからプロジェクトを作成してくれることを期待していたが、そんな機能はない。ああ、たぶんVisual Studio 2010など年数がついたやつとは別なんだな。最初に教えてほしかった。

参考

手順

 ターミナルを起動し、以下コマンドを実行する。

time sudo -s
. <( wget -O - https://code.headmelted.com/installers/apt.sh )

1回目(エラー)

$ time sudo -s
root@raspberrypi:/tmp/work# . <( wget -O - https://code.headmelted.com/installers/apt.sh )
--2019-01-30 18:31:02--  https://code.headmelted.com/installers/apt.sh
code.headmelted.com (code.headmelted.com) をDNSに問いあわせています... 104.27.186.80, 104.27.187.80, 2606:4700:30::681b:bb50, ...
code.headmelted.com (code.headmelted.com)|104.27.186.80|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 特定できません [application/x-sh]
`STDOUT' に保存中

-                       [ <=>                ]   2.29K  --.-KB/s    in 0.001s  

2019-01-30 18:31:02 (2.75 MB/s) - stdout へ出力しました [2349]

Detecting architecture...
Ensuring curl is installed
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
curl はすでに最新バージョン (7.52.1-5+deb9u8) です。
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libdirectfb-1.2-9 libiso9660-8 libvcdinfo0 libvlccore8
これを削除するには 'apt autoremove' を利用してください。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
Architecture detected as armv7l...
Retrieving GPG key [headmelted] (https://packagecloud.io/headmelted/codebuilds/gpgkey)...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
gpg: no valid OpenPGP data found.
Removing any previous entry to headmelted repository
Installing [headmelted] repository...
Updating APT cache...
取得:1 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian stretch InRelease [15.0 kB]
取得:2 http://ftp.jaist.ac.jp/raspbian stretch InRelease [15.0 kB]
取得:3 http://ftp.yz.yamagata-u.ac.jp/pub/linux/raspbian/raspbian stretch InRelease [15.0 kB]
取得:4 http://archive.raspberrypi.org/debian stretch InRelease [25.4 kB]
取得:5 http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian stretch InRelease [25.4 kB]
取得:6 http://raspbian.raspberrypi.org/raspbian stretch InRelease [15.0 kB]
取得:7 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian stretch/main armhf Packages [11.7 MB]
取得:8 http://ftp.jaist.ac.jp/raspbian stretch/main armhf Packages [11.7 MB]
取得:9 http://archive.raspberrypi.org/debian stretch/main armhf Packages [201 kB]
取得:10 https://download.mono-project.com/repo/debian stable-raspbianstretch InRelease [2,242 B]
取得:11 http://ftp.yz.yamagata-u.ac.jp/pub/linux/raspbian/raspbian stretch/main armhf Packages [11.7 MB]
取得:12 http://raspbian.raspberrypi.org/raspbian stretch/main armhf Packages [11.7 MB]
取得:14 https://download.mono-project.com/repo/debian stable-raspbianstretch/main armhf Packages [50.9 kB]
取得:15 http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian stretch/main armhf Packages [201 kB]
取得:16 http://archive.raspberrypi.org/debian stretch/ui armhf Packages [41.6 kB]
取得:7 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian stretch/main armhf Packages [11.7 MB]
取得:13 https://packagecloud.io/headmelted/codebuilds/debian stretch InRelease [23.4 kB]
無視:13 https://packagecloud.io/headmelted/codebuilds/debian stretch InRelease
取得:17 http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian stretch/ui armhf Packages [41.6 kB]
取得:18 https://packagecloud.io/headmelted/codebuilds/debian stretch/main armhf Packages [1,518 B]
取得:7 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian stretch/main armhf Packages [11.7 MB]
取得:7 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian stretch/main armhf Packages [11.7 MB]
取得:7 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian stretch/main armhf Packages [11.7 MB]
39.0 MB を 2分 37秒 で取得しました (248 kB/s)
パッケージリストを読み込んでいます...
W: GPG エラー: https://packagecloud.io/headmelted/codebuilds/debian stretch InRelease: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY 0CC3FD642696BFC8
W: リポジトリ https://packagecloud.io/headmelted/codebuilds/debian stretch InRelease は署名されていません。
Done!
Repository install complete.
Installing Visual Studio Code from [stretch]...
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libdirectfb-1.2-9 libiso9660-8 libvcdinfo0 libvlccore8
これを削除するには 'apt autoremove' を利用してください。
以下のパッケージが新たにインストールされます:
  code-oss
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 208 個。
41.7 MB のアーカイブを取得する必要があります。
この操作後に追加で 157 MB のディスク容量が消費されます。
警告: 以下のパッケージは認証されていません!
  code-oss
E: 認証されていないパッケージがあり、-y オプションが --allow-unauthenticated なしで使用されました
Visual Studio Code install failed.

real    2m56.051s
user    0m45.475s
sys 0m5.142s

 なにこれ?

 とりあえずシステムアップデートしてみたが関係なかった。

sudo apt-get update
sudo apt-get upgrade

apt install -yの罠

 こいつのせい。

-yフラグ付きだと中断されてしまう

$ sudo apt install code-oss -y
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libdirectfb-1.2-9 libiso9660-8 libvcdinfo0 libvlccore8 realpath
これを削除するには 'sudo apt autoremove' を利用してください。
以下のパッケージが新たにインストールされます:
  code-oss
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
41.7 MB のアーカイブを取得する必要があります。
この操作後に追加で 157 MB のディスク容量が消費されます。
警告: 以下のパッケージは認証されていません!
  code-oss
E: 認証されていないパッケージがあり、-y オプションが --allow-unauthenticated なしで使用されました

 -yフラグはインストール確認にyを入力するのを省略するもの。なのにインストール自体できなくなってしまう罠があったらしい。これはひどい

-yフラグ無しだとインストールできる

$ sudo apt install code-oss
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libdirectfb-1.2-9 libiso9660-8 libvcdinfo0 libvlccore8 realpath
これを削除するには 'sudo apt autoremove' を利用してください。
以下のパッケージが新たにインストールされます:
  code-oss
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
41.7 MB のアーカイブを取得する必要があります。
この操作後に追加で 157 MB のディスク容量が消費されます。
警告: 以下のパッケージは認証されていません!
  code-oss
検証なしにこれらのパッケージをインストールしますか? [y/N] 

 yを入力しEnterで実行。

 最後に以下のようなメッセージが出た。

W: GPG エラー: https://packagecloud.io/headmelted/codebuilds/debian stretch InRelease: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY 0CC3FD642696BFC8
W: リポジトリ https://packagecloud.io/headmelted/codebuilds/debian stretch InRelease は署名されていません。
Done!

2回目(成功!)

time sudo -s
. <( wget -O - https://code.headmelted.com/installers/apt.sh )
$ time sudo -s
root@raspberrypi:/tmp/work# . <( wget -O - https://code.headmelted.com/installers/apt.sh )
--2019-01-30 19:39:36--  https://code.headmelted.com/installers/apt.sh
code.headmelted.com (code.headmelted.com) をDNSに問いあわせています... 104.27.186.80, 104.27.187.80, 2606:4700:30::681b:bb50, ...
code.headmelted.com (code.headmelted.com)|104.27.186.80|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 特定できません [application/x-sh]
`STDOUT' に保存中

-                       [ <=>                ]   2.29K  --.-KB/s    in 0s      

2019-01-30 19:39:37 (4.72 MB/s) - stdout へ出力しました [2349]

Detecting architecture...
Ensuring curl is installed
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
curl はすでに最新バージョン (7.52.1-5+deb9u8) です。
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libdirectfb-1.2-9 libiso9660-8 libvcdinfo0 libvlccore8 realpath
これを削除するには 'apt autoremove' を利用してください。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
Architecture detected as armv7l...
Retrieving GPG key [headmelted] (https://packagecloud.io/headmelted/codebuilds/gpgkey)...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
gpg: no valid OpenPGP data found.
Removing any previous entry to headmelted repository
Installing [headmelted] repository...
Updating APT cache...
ヒット:1 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian stretch InRelease
ヒット:2 http://ftp.jaist.ac.jp/raspbian stretch InRelease
ヒット:3 http://ftp.yz.yamagata-u.ac.jp/pub/linux/raspbian/raspbian stretch InRelease
ヒット:4 http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian stretch InRelease
ヒット:5 http://raspbian.raspberrypi.org/raspbian stretch InRelease
ヒット:6 http://archive.raspberrypi.org/debian stretch InRelease
ヒット:7 https://download.mono-project.com/repo/debian stable-raspbianstretch InRelease
取得:8 https://packagecloud.io/headmelted/codebuilds/debian stretch InRelease [23.4 kB]
無視:8 https://packagecloud.io/headmelted/codebuilds/debian stretch InRelease
23.4 kB を 4秒 で取得しました (5,627 B/s)
パッケージリストを読み込んでいます...
W: GPG エラー: https://packagecloud.io/headmelted/codebuilds/debian stretch InRelease: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY 0CC3FD642696BFC8
W: リポジトリ https://packagecloud.io/headmelted/codebuilds/debian stretch InRelease は署名されていません。
Done!
Repository install complete.
Installing Visual Studio Code from [stretch]...
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
code-oss はすでに最新バージョン (1.29.0-1539702286) です。
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libdirectfb-1.2-9 libiso9660-8 libvcdinfo0 libvlccore8 realpath
これを削除するには 'apt autoremove' を利用してください。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
Visual Studio Code install complete.
Installing git...
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
git はすでに最新バージョン (1:2.11.0-3+deb9u4) です。
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libdirectfb-1.2-9 libiso9660-8 libvcdinfo0 libvlccore8 realpath
これを削除するには 'apt autoremove' を利用してください。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
git install complete.
Installing any dependencies that may have been missed...
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libdirectfb-1.2-9 libiso9660-8 libvcdinfo0 libvlccore8 realpath
これを削除するには 'apt autoremove' を利用してください。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
Missed dependency install complete.


Installation complete!

You can start code at any time by calling "code-oss" within a terminal.

A shortcut should also now be available in your desktop menus (depending on your distribution).

 できたっぽい。

 というか、code-ossが本体だったようだ。それ-yフラグの罠で入らなかったやつじゃん。もう個別に入れちゃったよ……。