読者です 読者をやめる 読者になる 読者になる

1.21 jigowatts

Great Scott!

【CentOS 7】 Visual Studio Codeが起動できなくなった

Visual Studio Code Linux

概要

たしか1.7に上げた頃、VS Codeがエラーメッセージを吐いて起動できなくなりました。そのときは時間もなく面倒くさかったので放置してましたが、思い出したのでなんとかしてみる回です。

環境

CentOS 7
Visual Studio Code 1.7.2

エラー内容

起動しようとすると怒られました・・・。なにもしてないんだけどなぁ。

$ code .
/usr/share/code/bin/../code: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory

とりあえずアップデート

ひとまず最新に上げたら直っているんじゃないかという淡い期待を抱き、アップデートするもダメ>.<
sh-yoshida.hatenablog.com

エラーメッセージを読む

英語だからってそっと閉じない。大切。

error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory

libXss.so.1ライブラリがないと怒られているらしいので、ライブラリ名を調べていると似たような事象を発見!

CentOS - GitKrakenがCentOS7で起動できなくなりました。(45627)|teratail

libXScrnSaverをインストールしてあげればいいのかなっつーことでやってみます。

$ sudo yum install libXScrnSaver
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ libXScrnSaver.x86_64 0:1.2.2-6.1.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
 Package               アーキテクチャー
                                      バージョン             リポジトリー  容量
================================================================================
インストール中:
 libXScrnSaver         x86_64         1.2.2-6.1.el7          base          24 k

トランザクションの要約
================================================================================
インストール  1 パッケージ

総ダウンロード容量: 24 k
インストール容量: 40 k
Is this ok [y/d/N]: y
Downloading packages:
libXScrnSaver-1.2.2-6.1.el7.x86_64.rpm                     |  24 kB   00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : libXScrnSaver-1.2.2-6.1.el7.x86_64              1/1 
  検証中                  : libXScrnSaver-1.2.2-6.1.el7.x86_64              1/1 

インストール:
  libXScrnSaver.x86_64 0:1.2.2-6.1.el7                                          

完了しました!

そもそもlibXss.so.1ってなんだろう。スクリーンセーバー関係?

復活!

ナルホド無事VS Codeは起動しました!
と喜んだのも束の間。Gitのバージョンが古い(ノ ゜Д゜)ノ ==== ┻━━┻

f:id:sh_yoshida:20161129225751p:plain

Codeは2.0.0以上のgitで最適に動作します。

Gitのインストール

yumでは古いバージョンがインストールされるとのことで、こちらを参考に最新のGitをCentOS 7にインストールしてみます。

CentOS7に最新のGitを導入する方法 | vdeep

現時点で最新は2.10.2。
手順に従い進めていきます。

$ sudo yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
$ cd /usr/local/src/
$ sudo wget https://www.kernel.org/pub/software/scm/git/git-2.10.2.tar.gz
$ sudo tar xzvf git-2.7.2.tar.gz

ぐぬぬ、makeでエラーが。

$ sudo make prefix=/usr/local all

(省略)
/usr/bin/perl Makefile.PL PREFIX='/usr/local' INSTALL_BASE='' --localedir='/usr/local/share/locale'
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 3.
BEGIN failed--compilation aborted at Makefile.PL line 3.
make[1]: *** [perl.mak] エラー 2
make: *** [perl/perl.mak] エラー 2

↓こちらを参考にエラーに対処。

gitをソースコードから入れる - Qiita

$ sudo yum install perl-ExtUtils-MakeMaker

もう一度makeコマンドを実行したらうまく行ったぁぁぁあ

$ sudo make prefix=/usr/local all
$ sudo make prefix=/usr/local install

Gitも最新になって、VS Codeも文句なし☆彡

$ git --version
git version 2.10.2