ろきメモ【ROKI MEMO】- ろきsanの備忘録 -

ろきさんの備忘録。プログラミング学習記録や開発記録、および学んだ知識等のアウトプットとシェアを目的に書いています。たまに普通のことも書きます。

【ターミナル環境の変更】Zshの「oh-my-zsh」を「Prezto」に変更する手順

だいぶ昔に、ターミナルをZshに変えて、よくわからないけど良さそうだったから「oh-my-zsh」を導入していた。
その時の記事。
ahrk-izo.hatenablog.com


ときは経って、「oh-my-zsh」よりも「Prezto」のほうが良さそうだったので、それに切り替得てみた。
その切り替えたときの備忘録を残す。

参考はこちら
Zsh + Prezto で快適コマンド環境を構築する | DevelopersIO


[目次]

スポンサーリンク



1. 現在のシェルを確認

いや、Zshなのはわかっているんだけど、念の為確認。何のシェルかによって編集する設定ファイルが異なるので。(bashとかでは違う設定ファイルだから)

$ echo $SHELL
/usr/local/bin/zsh

うん、やっぱりZshだね。

Zshのバージョンも確認しておく

$ zsh --version
zsh 5.3.1 (x86_64-apple-darwin16.5.0)

2. ~/.zshrcの中身確認

Zshの設定ファイルはHOMEにある「.zshrc」なので、まずその中身を確認しておく(人によってはファイルが異なるかも)

.zshrcの中身(コメントアウト以外を抜粋)

export ZSH=/Users/(user)/.oh-my-zsh
ZSH_THEME="candy"
plugins=(git)
source $ZSH/oh-my-zsh.sh

# zsh-completionsの設定
fpath=(/path/to/homebrew/share/zsh-completions $fpath)
autoload -U compinit
compinit -u

source ~/.bash_profile

ざっくり解説してみると、

  • 環境変数ZSHに、/Users/(user)/.oh-my-zsh を入れて
  • ZSH_THEME="candy" と、plugins=(git) はよくわかんないけど
  • source $ZSH/oh-my-zsh.sh でoh-my-zsh.sh を読み込む
  • fpath=(/path/to/homebrew/share/zsh-completions $fpath)
  • autoload -U compinit
  • compinit -u とかはなんかやってるとして、
  • source ~/.bash_profile で.bash_profile にかかれている内容も反映する(個人的にこのファイルにかかれている設定も必要なので)

(半分はよくわかっていないwひどいな。)

今回はこれらの中で、最後の「source ~/.bash_profile」の部分以外は全部変更する。
というかこの時点でそれ以外は削除してしまう。これでoh-my-zshは無効となった。

3. Preztoを取得する

さていよいよ今回の目当てである「Prezto」を取得する。
導入元はGitHub上のこちら
https://github.com/sorin-ionescu/prezto

基本的には、こちらのREADMEに書かれている通りにやる。

リポジトリをクローンする

$ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"

READMEに書いてあるまんまだけど、一応理解して実行したいから解説しとこう。

  • 「--recursive」: リポジトリ内に含まれるサブモジュールも同時に複製する
  • 「${ZDOTDIR:-$HOME}」: 変数ZDOTDIRの値を使うけど、なかったら$HOMEの値を使う

※変数ZDOTDIRは値ないからHOMEだろう
※「echo ${ZDOTDIR:-$HOME}」ってやってみたら、やっぱりHOMEだった。

  • つまり、HOMEの「~/.zprezto」にリポジトリをクローンしてくるってこと


f:id:ahrk-izo:20200728163745p:plain

f:id:ahrk-izo:20200728163807p:plain

はい。クローン完了

~/.zpreztoにこの通り取得できた
f:id:ahrk-izo:20200728163949p:plain

スポンサーリンク



4. ~/.zshrcを編集する

取得したPreztoをZshに導入するために、~/.zshrcを編集する(「~」はHOMEってことね)。
これも https://github.com/sorin-ionescu/prezto のREADMEにかかれている通り、

setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done

を実行する(ターミナルにコピペ)

これもよくわかんないまま実行するのもアレだから、解説する。

$ setopt EXTENDED_GLOB
# zsh の EXTENDED_GLOB をONにする
# ONにすると、除外パターン、大文字小文字同一視などすべての拡張表記が可能となる
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
  • ~/.zprezto/runcoms にある中で、README.md以外のファイルでループ回す
  • それらのシンボリックリンクを作成する
  • ~/.zprezto/runcoms の中にあるの、zlogin, zlogout, zpreztorc, zprofile, zshenv, zshrc

実行すると、

In -s zlogin ~/.zlogin
In -s zlogout ~/.zlogout
In -s zpreztorc ~/.zpreztorc
In -s zprofile ~/.zprofile
In -s zshenv ~/.zshenv
In -s zshrc ~/.zshrc

が実行された。

ln: /Users/(ユーザー名)/.zshrc: File exists

あれ?エラー。すでに~/.zshrcはあるよってこと。
~/.zshrcを削除してもう一度やればいい(バックアップとってるし、必要な分だけ後で追記すればよい)

ということで、~/.zshrc を削除して、もう一度実行。
するとファイルの中身は以下のようになった。

$ cat ~/.zshrc
#
# Executes commands at the start of an interactive session.
#
# Authors:
#   Sorin Ionescu <sorin.ionescu@gmail.com>
#

# Source Prezto.
if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" ]]; then
  source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"
fi

※正確に言うと、~/.zshrc はシンボリックリンクなので、実体は、~/.zprezto/runcoms/zshrc なのであしからず
※他のできたシンボリックリンク(.zloginとか)の中身もそれぞれ違う



で、個人的に必要なので、~/.zshrc(実際には~/.zprezto/runcoms/zshrc)の最後の1行に以下を追記する
(~/.zshrc)

source ~/.bash_profile


最後に、ターミナル(iterm2)を再起動
f:id:ahrk-izo:20200728172053p:plain:w400
よし、できた!

スポンサーリンク



[おまけ] ターミナル上に、Gitのブランチ名を表示する

Gitを使っているとき、今どのブランチに切っているかひと目でわかるように、ターミナルにブランチ名を表示する設定をする。

~/.zpreztorc を編集する
このファイルの

# Set the Prezto modules to load (browse modules).
# The order matters.
zstyle ':prezto:load' pmodule \
  'environment' \
  'terminal' \
  'editor' \
  'history' \
  'directory' \
  'spectrum' \
  'utility' \
  'completion' \
  'prompt'

の部分に、「'git'」を追記する

こんなふうに

# Set the Prezto modules to load (browse modules).
# The order matters.
zstyle ':prezto:load' pmodule \
  'environment' \
  'terminal' \
  'editor' \
  'history' \
  'directory' \
  'spectrum' \
  'utility' \
  'completion' \
  'prompt' \
  'git'

※下から2行目の最後に「\」を追記するのを忘れずに

すると、こんなふうに右端にブランチ名が表示される
f:id:ahrk-izo:20200728172702p:plain


これでOK。


よくわかんないLinuxコマンドが出てきたとき、ググって、かつ手元にコマンド集があると心強い。こういうやつはやっぱり紙がいいね。

【バージョン変えたい】nodeのバージョンをnodenvを使って変更する

nodeのバージョン切り替えにちょっとハマったので、備忘録を残す。
nodeのバージョンを変えたいだけなのに、コマンドには「npm」とか「nodenv」とか出てきてややこしかったので、やったコマンドだけでも残しておく。

[目次]

スポンサーリンク



1. とりあえず各バージョンの確認

現在のnodeのバージョン確認

$ node --version
v8.10.0

例えばこれをv12.16.1にしたい


npmのバージョンも確認

$ npm --version
5.6.0

2. npmをアップグレード

まずnpmをアップグレードする
(npmでnpmをインストール)

$ npm install -g npm


再びnpmのバージョン確認

$ npm --version
6.14.2

よし上がっている。


一応、nodeのバージョン確認

$ node --version
v8.10.0

まだ変わっていない。

3. nodenvを使って特定のバージョンのnodeをインストール

Node.jsのバージョンマネージャーであるnodenvを使って、特定のバージョンのnodeをインストールする。

インストール済みのnodenvのリストを表示

$ nodenv install --list


もし切り替えたいバージョンなければ、nodenvをアップグレード

$ cd /home/(user)/.nodenv/plugins/node-build && git pull && cd -

nodenvのバージョン確認(一応載せとく)

$ nodenv --version
nodenv 1.3.0


nodeをバージョン指定でインストール

$ nodenv install 12.16.1

これでインストール完了

スポンサーリンク



4. nodeのバージョン切り替え

$ nodenv local 12.16.1 

特定のディレクトリでのみこのバージョンにしたいから「local」にする。


最後にnodeバージョン確認

$ node --version
v12.16.1


これでやりたいことは完了


ちなみに、npm関連の全バージョンを調べるときは

$ npm version
{
  npm: '6.14.2',
  node: '12.16.1',
}

[おまけ] nodenvのインストール方法

nodeのバージョン管理マネージャーであるnodenvのインストール方法。
基本的には、以下のGitHubのREADME(「Basic GitHub Checkout」の部分)に書いてある。
github.com


gitクローン

$ git clone https://github.com/nodenv/nodenv.git ~/.nodenv


PATHを通す

$ echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.bash_profile

自分の環境に合わせて、「.bashrc」だったり、「.zshrc」に変更する


セットアップ

$ ~/.nodenv/bin/nodenv init

以上。

【歴史が変わったらコレ】force pushでリモートの歴史とローカルの歴史が変わってpullできないときにやるコマンド

さて今日はGitについて。


リモートがrebase(+force push)されてて、自分のローカルと歴史が異なるときにpullできなくなる。
そんなとき一番簡単なのはローカルをまるごと削除して、git cloneしなおせばよい。

でももうちょっとスマートな方法があったので、備忘録として残す。


1. fetchで情報取得して、resetで上書きする

ブランチ名が「test-branch」仮定して…

$ git checkout test-branch
(ローカルのtest-branchにチェックアウト)

$ git fetch origin test-branch
(リモートのtest-branchの情報取得→origin/test-branchが最新になる)

$ git reset --hard origin/test-branch
(ローカルのtest-branchが、origin/test-branchの内容に強制的に上書きされる。歴史も。)


これさえ覚えておけばOK!


「force push はするなよ!」という意見があったりするが、これは開発チームによる。
ブランチはforce pushしても良い気がする。
履歴が汚くなったりしたらきれいにしておいたほうがいいし。
ローカルとリモートの歴史が変わっても、上記のコマンドさえチームのメンバー知っていれば、問題ないし。
もちろんmasterのforce pushするのは絶対によくない。
だから開発は必ずブランチを切ってやる。


参考
www-creators.com

【SSH直接接続でラク】VSCodeの拡張機能「Remote - SSH」を使ってファイル編集する設定

VSCodeの拡張機能「Remote - SSH」を使えば、VSCode上で直接SSH接続してファイルを編集することができる。
今日はその設定などの備忘録を残す。

[目次]

スポンサーリンク



1. 拡張機能「Remote – SSH」をインストール

VSCodeの拡張機能で検索してインストールするだけ
f:id:ahrk-izo:20200722160836p:plain

2. SSH設定

どのマシンにSSH接続するかの設定。

  1. Remote Explorer アイコンクリック
  2. SSH TARGETS の右側にある歯車アイコン クリック
  3. configファイル作成

f:id:ahrk-izo:20200722161115p:plain:w300


「**\.ssh\config 」というのが出てくるので、それを選択(新規作成となる)
f:id:ahrk-izo:20200722161413p:plain:w300

  • **\.ssh\config の中身を編集
Host hoge(任意)
    HostName (サーバのIPアドレス)
    User (サーバのログインユーザー名)
    Port 22
    IdentityFile (秘密鍵のパス)

※Portはデフォルト22なので省略可
※IdentityFileも省略可(その代わり毎回ログインパスワード聞かれるけどそんな手間じゃない)

スポンサーリンク



3. SSH接続してみる

サーバーの名の右側に表示されるウィンドウマークをクリック
f:id:ahrk-izo:20200723154437p:plain:w200

初回だけちょっと聞かれることあるので、それっぽいのを選択していく
linux > continue

ログインパスワードを入力(IdentityFile省略した場合)
f:id:ahrk-izo:20200723154741p:plain:w500


別ウィンドウで開いて完了!



参考
blog.serverworks.co.jp

【使いやすい!】Windows10でやっておきたいおすすめ設定

Windows10を初期設定から、自分の使いやすいように変える設定のお話。
そんなに機会はないんだけど、買い替えたり、会社から新しいのを支給されたりしたときにいつもやるので、ここに備忘録として残します。

[目次]

スポンサーリンク



1. 削除する際に、「ごみ箱に移動しますか?」メッセージを出す

f:id:ahrk-izo:20200722120300p:plain
Windows10からか、デフォルトではメッセージを出さずにごみ箱直行するようになってた。
間違ってDelete押しちゃうときとかあるので、これはメッセージがほしい。

ごみ箱右クリック > プロパティ > 削除の確認メッセージを表示する(チェックつける)

2. タスクバーの整理

デフォルトでタスクバーに以下のようなものがある

  • 検索ボックス
  • Cortanaボタン
  • タスクビューボタン

f:id:ahrk-izo:20200722120537p:plain
これらがあるとタスクバーが狭くなってしまうし、ショートカットキーを知っていればそれぞれなくても代用できるので非表示にする。

検索ボックスの非表示

タスクバー右クリック > 検索 > 表示しない

※ショートカットキーで代用
Win + S で検索ボックス表示される

Cortanaボタンの非表示

タスクバー右クリック > Cortanaのボタンを表示する(チェックを外す)

→ そもそもこれ不要?(使ったことない)

タスクビューボタンの表示

タスクバー右クリック > タスクビューボタンを表示(チェックを外す)

※ショートカットキーで代用
Win + Tab またはAlt + Tab でタスクビュー表示される

3. 文字入力切替時のポップアップを非表示にする

f:id:ahrk-izo:20200722120747p:plain:w150
英語入力と日本語入力の切替時に「A」とか「あ」とか出てくるポップが邪魔なので非表示にする。

タスクバー右端の「A」を右クリック > プロパティ > 画面中央に表示する(チェック外す)

4. 文字入力切替をスペースキーの左右のキー(無変換、変換)にする(Mac風)

Macでの切り替えに慣れてしまったので、Windowsでも同様にスペースキーの横のキーで切り替えたい

タスクバー右端の「A」を右クリック > プロパティ > 詳細設定
  全般 > 編集操作 > 変更
  キー   | 入力/変換済み文字なし
  無変換 | かな切り替え → IME-オフ
  変換   | 再変換 → IME-オン

※参考
ahrk-izo.hatenablog.com

5. インジケータの表示(通知領域の設定)

通知領域に常に表示したいアイコンと、そうでないアイコンの設定

タスクバー右クリック > タスクバーの設定 > 通知領域 > タスクバーに表示するアイコンを選択します
各アイコンのオン/オフを設定

スポンサーリンク



6. CtrlとFnを入れ替える(ThinkPad限定)

ThinkPadの場合、キーボードの左下が「Ctrl」でなく「Fn」になっていることが多い。(そのすぐ右隣が「Ctrl」になっている)
殆どのキーボードの左下は「Ctrl」になっているので、押し間違いでストレスになる。
ということで、「Ctrl」と「Fn」を入れ替えればよい。

BIOS起動(ThinkPadの場合、Lenovoロゴが出たらF1→EnterでOK)
   Config > Keyboard/Mouse > Fn and Ctrl Key swap > Enabled
   F10(Save and Exit)

※修正は自己責任でお願いします。これら設定によって生じた不具合については責任を負いかねます。

参考
tanweb.net

7. CapsLockをCtrlにする

「CapsLock」はこんなところにはいらない。(なんでこんないい場所陣取ってんねん!という声はよく聞く)。
WindowsでもMacのようなキーバインドにする場合は、「CapsLock」の位置は「Ctrl」にしておくとよい。

検索ボックス(Win + S)>「regedit」入力 > レジストリ起動
  「HKEY_LOCAL_MACHINE」-「SYSTEM」-「CurrentControlSet」-「Control」-「Keyboard Layout」
  「編集」-「新規」-「バイナリ値」
  「Scancode Map」
  ----
  00 00 00 00 00 00 00 00
  02 00 00 00 1D 00 3A 00
  00 00 00 00
  ----
  PC再起動

※修正は自己責任でお願いします。これら設定によって生じた不具合については責任を負いかねます。

参考
ascii.jp

スポンサーリンク



8. 辞書ツールのインポート

よく使う単語とか文を簡単に入力できるように登録していたりするので、それをエクスポートして、インポートする。

タスクバー右端の「A」を右クリック > ユーザー辞書ツール
(エクスポート)
ツール > システム辞書の作成
(インポート)
Microsoft IME辞書からの登録

(おまけ)辞書ツールに単語登録

一例だけど、こんな文を登録していたりする。

(例)
1o
→「お疲れさまです。**です。」
iz
→「以上、よろしくお願いします。」


うむ。最低限の設定はこんな感じかな。
ほかも思い出したら追記していきます。

【AWS】EC2インスタンスにSSH接続して、OSの言語設定と時刻設定をする

EC2インスタンスにSSH接続して、、、



1. OSの言語設定

$ sudo vim /etc/sysconfig/i18n
LANG="en_US.UTF-8"

LANG="ja_JP.UTF-8"

2. 日時設定

現状

202071日 水曜日 02:57:52 UTC

UTC時間になっている

$ sudo cp /usr/share/zoneinfo/Japan /etc/localtime

でコピーして、

$ sudo vim /etc/sysconfig/clock
ZONE="UTC"
UTC=true

ZONE="Asia/Tokyo"
UTC=true

すると、

$ date
202071日 水曜日 12:03:43 JST

と、JSTになっている。



これで完了

AWS EC2インスタンスにSSHで接続したときのHOSTNAMEを変更する方法

AWS EC2インスタンスにSSHで接続したときのHOSTNAMEを変更する方法
の備忘録


/etc/hostname
の中身が

ip-00-0-11-99.ap-northeast-1.compute.internal

とかになっているので、ここを編集する

$ sudo vim /etc/hostname

でエディタ編集

rokisan

とか。
(:wq で保存終了)

あともう1つのファイル
/etc/hosts
の中身

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost6 localhost6.localdomain6

を編集

$ sudo vim /etc/hosts

でエディタ編集

127.0.0.1   rokisan localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost6 localhost6.localdomain6

最初の「localhost」を任意の名前にする
(:wq で保存終了)


あとはインスタンスを再起動して、SSH接続しなおせばOK

$ sudo reboot


これで完了。

【数学ガール】定義式について

最近、数学を改めて学んでみようと思っている。
学ぶと言っても、ドリルをやるとか、なにかの試験を受けてみるとかではなく、数学は社会の何に役に立つのかということを知りたく、そして(子供に)説明したく学びたいというのがモチベーション。


そこで前から気になっていた「数学ガール」を読んでみた。

数学ガール

数学ガール

  • 作者:結城 浩
  • 発売日: 2014/03/12
  • メディア: Kindle版


まだ途中だが面白い。
教科書のように数式がバンバン出てきて、かつ物語になっている。
楽しい教科書という感じ。
(数学が「厳密さ」が大事なので、「バンバン」とか言うと怒られそうだ)



さて、最初の方に、「定義式」についての話がある。

「α + β という式に、s という名前をつける」
s = α + β

物語の中では、ここで、
「なぜ s なのか?」
「α や β はどこから出てきた?」
というような疑問がでる。

そして回答としては、
「何でもいい。後で説明しやすく、または読みやすく、わかりやすくするために名前をつけている」
という。



ちょっとプログラミング(コーディング)と重なった。

プログラミングでも、変数や定数というのを使う。
初心者用の本などでは、「値を入れておく箱」のようなものある。

でも実際は、値だけでなく、計算式を入れたりもする(正確にはその計算式の値だけど)
それはコードが読みやすくするためにしていたりする。


何が言いたいかというと、プログラミングには数学の知識や考え方が必要と言われるが具体的にはわからなかった。
この「定義式」について考え方だけでも、数学の必要性が見えてきた。

数学でよく使われる「定義(式)」という考えが、違和感なく自分の中にあれば、プログラミングで使う変数や定数での代入、そしてそれをコードの中で再利用するのも違和感なく使えるだろう。


やっぱり数学は面白い。


(物語を読み進めての追記)

「 r は実数(real number)の頭文字」
「 定数のときは a, b, c を使い、変数のときは x, y, z を使うときは多い」
「 n は整数や自然数に使うことが多い」

なるほど。スッキリした(数学の話)

数学ガール

数学ガール

  • 作者:結城 浩
  • 発売日: 2014/03/12
  • メディア: Kindle版

【解決(と思う)】Windowsで突然VSCodeが起動しなくなったときの対処

ある日Windowsにて、VSCodeが起動しなくなった。
エラーが出るわけでもなく、アプリをダブルクリックしても何の反応もない。
アンイストールしてはいない、アプリは存在する。
元にプログラム一覧にあるし、Windowsのスタートメニューにもある。

同じ現象が起きている人がいないかとググる
「Windows10 VSCode 起動しない」とか。

出てきた結果はざっくり、
「ネットワークが切れているから、オフラインで起動する方法は・・・」とか、
「アップデートのときなんか失敗したのかも、一度アンイストールして再インストールだな」など。

なるほど。
ネットワークはバリ3(古い)なので、「オフラインどうのこうの」は違う。
「アップデートのとき失敗」はあり得る。ソフトウェアなんて完璧は存在しないから。

しかし、再インストールはできるだけ避けたい。
いろいろ拡張パッケージ入れたし、キーバインドとか設定もしたから、またいろいろやるのはめんどくさい。
(まぁ、キーバインド(keybindings.json)とか設定(settings.json)のファイルはバックアップしておけばコピペでいけるんだけどね)

(例)
kiybindings.jsonの場所
C:\UserArea\(user)\AppData\Roaming\Code\User

settings.jsonの場所
C:\UserArea\(user)\AppData\Local\Programs\Microsoft VS Code

ということでちょっと他の方法を探ってみる。その備忘録。


目次

スポンサーリンク



1. VSCodeをターミナル(コマンドプロンプト)で起動してみる

ウィンドウ上ではエラーメッセージなど出てこないが、ターミナル上では何かしらエラーを吐いているかもしれない。少なくともどこで止まっているかは確認できかも。

VSCodeの実行ファイルはどこにある?
起動するショートカットアイコンなどを右クリック > プロパティ を開けば、「場所」に書いてある。ぼくの場合は、

D:\UserArea\(user)\AppData\Local\Programs\Microsoft VS Code\Code.exe

とあるので、これが実行ファイル本体。
なので、この場所でコマンドプロンプトを起動する(もしくはこの場所まで移動する)。

開く方法(参考)
ahrk-izo.hatenablog.com


この場所でコマンドプロンプトを起動したら、Code.exeを起動してみる。

D:\UserArea\(user)\AppData\Local\Programs\Microsoft VS Code>Code.exe
D:\UserArea\(user)\AppData\Local\Programs\Microsoft VS Code>

 [15216:0421/104958.513:FATAL:v8_initializer.cc(176)] 
Failed to open V8 file 'D:\UserArea\(user)\AppData\Local\Programs\Microsoft VS Code\natives_blob.bin' (reason: -4)

ほう。なるほど?
natives_blob.binってファイルを開こうとして、失敗してるっぽい。
フォルダを見るとそんなファイルない。やっぱりアップデートときなんか失敗してるな。
とりあえず原因がわかったので、ちょっと前進した。


2. 「natives_blob.bin」でググる

ググると言っても、日本語でググっても冒頭にある通りかもしれないので、英語でググってみる。
vscode native_blob.bin」で検索。
トップに
Failed to open V8 file \natives_blob.bin · Issue #82382 · microsoft/vscode · GitHub
が出てきた。内容を見ると、状況は全く同じっぽい。
結論を言うと、この中のこの コメント の通りにやったらできた。

要は、

  • Code.exeがあるフォルダの中に「_」というフォルダがある。
  • その中にファイルを、上のフォルダ(Code.exeがあるフォルダ)に移動する(おそらくこれがアップデートのとき移動しきれなかったのかな?)

でOK。


3. 「_」の中身を、上のフォルダ(Code.exeがあるフォルダ)に移動する

Code.exeがあるフォルダの中に「_」というフォルダの中に、「_」フォルダを確認。
f:id:ahrk-izo:20200425104259p:plain:w400

その中身を確認。
f:id:ahrk-izo:20200425104416p:plain:w400
この中に、natives_blob.binのファイルもあるね。やはり。

上のフォルダ(Code.exeがあるフォルダ)に移動する。
f:id:ahrk-izo:20200425104533p:plain:w400

これでOKだな。

スポンサーリンク



4. VSCodeを起動してみる。

まずはターミナル(コマンドプロンプト)でやってみる。

D:\UserArea\(user)\AppData\Local\Programs\Microsoft VS Code>Code.exe
D:\UserArea\(user)\AppData\Local\Programs\Microsoft VS Code>

 [main 2020-04-21T02:18:34.833Z] update#setState idle

(node:9096) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information

(node:9096) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information

(node:1720) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information

(node:1720) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information

(node:1720) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information

(node:1720) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information

(node:1720) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information

(node:1720) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information

[main 2020-04-21T02:19:04.896Z] update#setState checking for updates

[main 2020-04-21T02:19:06.733Z] update#setState idle

起動できた!


もちろん、アプリのアイコンからも!


これが正しいやり方かはわからないが、無事起動して、問題なく起動している。
まぁ本当に何か不具合起きたら再インストールすればいいさ。


とにかく、ターミナルで起動してみて、エラーやどこで止まっているかを確認してみるのは大事だね。


以上。

【Github】リモートリポジトリがrebaseやforce pushによって歴史が変わったとき、ローカルの歴史もリモートと同じにする方法

githubを使いチームで開発しているとき、自分のローカルの歴史とリモートリポジトリの歴史が異なるときがある。
誰かがrebaseなどして、force pushをしたときなど。(masterのforce pushは禁止にはしているが、ブランチはよくある)

このときそのままpullやfetchしても失敗する。
そんなときはどうするかの備忘録。
ローカルまるごと削除してcloneし直すのもいいが、もっとクールにやる。

// とりあえず目的にブランチにチェックアウト(hoge-branchとする)
$ git checkout hoge-branch


// リモートの最新を取得して
$ git fetch origin hoge-branch


// リモートの状態に強制的にする
$ git reset --hard origin/hoge-branch

これでOK。


こちら参考にさせていただきました。
git pull を強制し、リモートでローカルを上書きする方法 | WWWクリエイターズ


以上。