HPCメモ

HPC(High Performance Computing)に関連したりしなかったりすることのメモ書き

【2021年版】お手軽にGPGPUを使うには?

私がGPGPUを触わってたのはたしか2009年の始め頃あたりで、OpenCLどころかCUDA Fortranも無いような時代に

「ちょっとこれGPUで性能評価してみてー」

Fortranのin-houseコードを渡されたのが最後の記憶です。*1

そんな私ですが、先日GDEPさんのtwitterのキャンペーンでお肉をいただいてしまいました。

干支がひとまわりもする間、外から眺めてるだけだったGPGPUですが、さすがにお肉をもらっておきながら使いもしないというのは人の道に反する気がするので、ちょっと触ってみることにします。

環境構築

さて、12年前なら秋葉原に行ってGeForceを買ってくるところですが、今やいろんな意味で不可能になりました。 代わりにというと変な感じがしますがが、各種クラウドサービスにGPU搭載インスタンスが用意されているので、こちらを使うことにしましょう。

ざっくりとドキュメントを見た感じでは、AWS, GCP, Azureといずれも(世代が多少違うけど)GPUインスタンスが用意されているようです。

AWS https://aws.amazon.com/jp/ec2/instance-types/

  • P4 Cascade Lake + A100
  • P3 Broadwell + V100
  • P2 Broadwell + K80
  • G4 Cascade Lake + T4
  • G3 Broadwell + M60

GCP https://cloud.google.com/compute/docs/gpus?hl=ja

N1インスタンスに対して、オプションとして以下のGPUが追加できるようです。 - T4 - V100 - P100 - P4 - K80

Azure https://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/series/ GPU搭載インスタンスとして、次の3つが提供されています。

  • NC V100
  • NDs P40またはV100
  • NV M60

ちなみに、アカウントを持ってるなら、FOCUSスパコンという手もあります。 この中だと、Fシステムのうち2ノードにP100が載っています。

www.j-focus.or.jp

だいたいどこでも使えるようなので、価格やお財布、アカウントの有無によって決めれば良いと思いますが、 今回はこれまでに挙げたどれでもなくgoogle Colaboratory (以下colab)を使うことにします。

colab.research.google.com

colabはgoogleのアカウントさえあれば使える Jupyter notebook As A Service として機械学習界隈では有名な存在ですが、

  • 無課金ユーザでも連続12時間まではGPU(K80)が使える
  • google Drive連携でファイルのuploadがちょー楽

というメリットがあるので、今回の用途なら無料で遊べるでしょう。

ただし、M1 macを使っていてGsuiteを契約していると、あいかわらずGoogle drive file streamが正常に動かないのでファイルのupload/downloadは手作業でやる必要がありますorz

colabのセットアップ

colabに接続すると、"Colaboratoryへようこそ"というドキュメントが表示されると思いますが、"ファイル"->"ノートブックを新規作成"とすると別のタブで新しいノードが開きます。

f:id:n_so5:20210113160146p:plain

タイトルを適当に変えてから、"ランタイム"->"ランタイムのタイプを変更"と選択し、表示されたダイアログ内の"ハードウェアアクセラレータ"と書かれたドロップダウンリストを"None"から"GPU"に変えます。

f:id:n_so5:20210113160018p:plain

ノートの上側にあるメニューから"接続"->"ホスト型ランタイムに接続"と選んでしばらく待つとGPUインスタンスが使える状態になっています。

f:id:n_so5:20210113160358p:plain

ランタイムに接続した後で、左のディレクトリっぽいアイコンをクリックしGoogleドライブのアイコンをクリックすると、"/content/drive"以下に現在のアカウントのgoogleドライブが接続されるので、必要なファイルなどはここを経由してやりとりすると楽です。(うっかり秘蔵のファイルが見えたりすると困るので、ここはスクショ無しで・・・)

jupyter notebookなので、何かコマンドを実行する時は、シェルエスケープ(!)を使う必要がありますが、 こんな感じでnvccも使えます。

f:id:n_so5:20210113161121p:plain

通常のコンパイラとしては、clangとGCCが入っているのでOpenCLも使えそうです。

f:id:n_so5:20210113161457p:plain

ついでに、ちらっと見えてますが、OSはubuntuの18.04のようなのでなにか不足があればaptで入れれます。

さて、ここからが本番なんですが、GPUを使ってないとこんなことを言われるので、この辺で一旦中断します。

f:id:n_so5:20210113161630p:plain

次回に続く(と良いなぁ・・・)

*1:確か、CUDA化する前にCで書き直したらなんかめっちゃ早くなって困った記憶が・・・

年末大掃除

kickstarterとか、indiegogoでちょくちょく新しいガジェットのファンディングにバックしてるんですが、今年は色々とダメなものを掴みましたorz

というわけで、供養の代わりにここで紹介してゴミに出そうと思います。

ひとつ目はこちら。 クレジットカードサイズのTypeCx2, TypeAの充電器です。

www.kickstarter.com

出張時の荷物を減らすために、3つくらい持って行ってた充電器をこれで置き換えようと思って購入しました。 届いた翌日からちょうど出張だったので、さっそく持っていったんですが2時間くらい充電したところで

「パシーン」

という乾いた音を立てて煙を吹いて死にましたorz

これ自体は、単に私のところに届いた個体が不良品だった*1ってだけかもしれませんが、そもそもの製品仕様にも欠点があって、めっちゃ重いんですw

kickstarterのページにもしっかりweight 216gって書かれてますが、小さくって重いので手に持った時の体感的な重さは数値以上でした。

一応、「充電してたら煙吹いて死んだよ」と製造元に連絡したら、代わりの製品送ろうかと言われたんですが、こちらの小さいTypeC充電器を買って、前から持ってるTypeCの充電器と2台合わせて持ち歩くことにしました。泊まりがけの出張は買って以来一度も無かったので、これで十分かどうかは分かりませんが、なんなら4つ買ってもこっちの方が軽いんで、デカイ充電器に戻ることは無いでしょうね。

2つ目はこちらのHDMIを無線で飛ばせるという便利アイテムです。

www.kickstarter.com

これは、コメント欄を見てもらえれば分かると思いますが、ユーザの評価は2分されていて

  1. まだ届いてない
  2. まったく接続できない

つまり、ほとんど誰も使えてないというていたらくですw

1つ目の充電器と違って、ファームウェアのアップデートとかで直るかなぁと期待して持ってたんですが、なんかもう開発者逃げたんじゃないかって状況なんで、諦めて燃えないゴミ行きにしようと思います。

3つ目はこちら。 selpic社のハンディプリンタです。

www.indiegogo.com

私は洒落にならんレベルで字が汚ないんで、宛名書きみたいに読めないと困るものはテプラで宛名シールを作って貼ってます。 でも、「令和二年度ほにゃほにゃるらとほてぷの申請書在中」みたいなのをテプラで封筒に貼ると、テプラ部分の背景色が目立って宛名の存在感が薄れてしまいます。

それなら、ハンディプリンタで封筒に印字すりゃー良いんじゃないかと思って色々と調べていたところにこの製品のクラウドファンディングをちょうどやっていたので、バックしてみました。

selpic社のハンディプリンタは、S1というずんぐりむっくりした形のものが既に発売されています。

amazonでも評価が高いし実績がある製品の後継モデルなんだから大丈夫だと思ってたんですが、これまた接続できませんorz

そもそもマニュアルが意味不明で、アプリをインストールする以外のセットアップ手順が一切書かれてません。

アプリを立ち上げて、本体の電源を入れると、一応プリンタを認識してくれるんですが、接続しようとすると2.4GHzのネットワークのSSIDとパスワードを入れろと言われますが、肝心のSSIDはどこにも書かれてませんw

駄目元で、wifi ルーターが飛ばしてる2.4GHzの設定を入れてみたものの、やっぱり接続できませんと言われました。ネットワーク分離機能は無効にしてるので、もしプリンタとアプリを動かしている端末を両方2.4GHzの同じ無線LANに繋ぐというので良いのなら、これで大丈夫なはずなんですけどね〜

Amazonでも売られてますが、S1と違ってこちらは散々な評価のようなので、まーこれもダメでしょ。

というわけで、来年は日ペンの美子ちゃんに字を習おうかと思いますo......rz

2つ目のなんか逃げたっぽいとこ以外の各社には、これに凝りずにまた新しい製品を作り出してほしいものです :)

では、みなさま良いお年を

*1:つまり検品がマズい

ansibleで公開鍵を配る

普段使っているマシンを移行した後で、各所のauthorized_keysをアップデートし忘れててログインできなくて焦る。 そんな経験をしたことはありませんか?

私は多々ありますorz

まー旧マシンでログインできたところに入れれば良いので

  1. 新マシンで鍵ペアを作成
  2. 新マシンの公開鍵を旧マシンにコピー
  3. 旧マシンからログインできるところ全部のauthorized_keysに新マシンの公開鍵を追加

という作業をすれば良いんですが、1、2は良いんですが3が面倒なんですよね。特に移行作業の途中でログインして作業しなきゃいけなくなって中途半端にauthorized_keysに登録してるところがあったりすると、どのマシンを更新しなきゃいけないのか分からなくなったりしてなかなかやる気もでません。

というわけで、ansibleでちゃちゃっとやってしまいましょう。

playbookはこんな感じです。

私の場合は、新マシンの公開鍵を旧マシンのauthorized_keysに登録してたのでkeyの値がauthorized_keysになっていますが ここは各自旧マシンで公開鍵を保存した時のパスを入れてください。

- hosts: all
  tasks:
    - ansible.posix.authorized_key:
        user: "{{ ansible_user_id }}"
        key: "{{ lookup('file', lookup('env', 'HOME')+'/.ssh/authorized_keys') }}"
      throttle: 1

でもって実行はこんな感じで、~/.ssh/configに書かれてあるHost全部に対して実行します。

ansible-playbook -i $(awk '/^Host/{printf $2","}'  ~/.ssh/config)  authorized_keys.yml

接続先ホストを雑に取ってきてるので、例えば$HOMEを共有しているホストが複数configに入ってるようなこともあるかもしれませんが、その辺はplaybook側にthrottle: 1をつけて1ホストづつ実行することでrace conditionを避けるようにしています。

私の場合、移行するわけじゃなくて2台併用するんで今後接続先ホストが増えたら面倒なことになりそうですが、その時はその時で・・・

Apple silicon MBAでiPadアプリを動かす

2020/11/27追記: こっそりと編集ミスを直しました :p

iOSandroidアプリは提供されてるけど、PCから使う時はブラウザ経由で使ってねというようなwebサービスがいくつかありますが、Apple silicon版のMacだと(ベンダーが許可したものは)iPhone/iPadアプリをMacで動かすことができます。

こちらのgizmodeの記事に具体的なやり方が書かれていたので、私が普段使ってるアプリがどの程度対応しているか試してみました。

japanese.engadget.com

問題無く使えているもの

paperpile

ライブラリも見れるし、入力したコメントやアンダーラインも全部見れました。逆にPCで入力したコメントやアンダーラインも正常に反映されています。

操作も自然で、マウスのダブルクリックで拡大/縮小、マウスホイールでページ内のスクロール、余白のクリックでページ送りといった感じで(読むだけなら)マウスのみで全部操作できます。 あと、カーソルキーでのページ送りにも対応とほぼ完璧です。

欲を言えばホイールをページ送りに設定できればありがたいんですが、まー駄目なら駄目で慣れれば済む話なので・・・

これ、google chromeにしか対応していないサービスなので、paperpileを使ってるけどgoogle chromeは常用していない(というかweb開発にしか使ってない)私には控えめに言っても ネ 申 対応です。

workflowy

こちらも問題無く読み書きできています。

ネストした項目を降りていった時に、最上部にパンくずリストが表示されるんですが、ここにマウスオーバーした時にポインタがクリックできるやつにならず、テキスト入力っぽい感じになるのが惜しいところですね。

f:id:n_so5:20201126162420j:plain

こういう微妙な違和感を覚えるとこは気になる人は気になると思いますが、私はほとんどトップレベルで表示したまま使ってるんでたぶん気にならないと思いますw

paperpileと違ってこちらは常用してるfilrefoxでタブを一つ常時開いとけば済む話なんでMacで動く恩恵はあまり無いんですが、たまにブラウザ全体を再起動してる時とかもあるので独立したアプリとしてインストールできるのはありがたいですね。

Linguee

これも問題無く使えています。iPadだとshare機能で調べられるってのがウリの一つなんですが、この機能はmacでは使えません。*1でもmacなら普通にコピペすれば済む話なんで特に問題は無いですね。

そもそも mac app storeに無いもの

この辺のアプリはmac app storeでは配信されてないようです。

kindleに関しては、mac版アプリのできが非常によろしくないので、Mac版は捨ててiPhone/iPad版を使えるようにしてくれるとありがたいんですけどね。

使ってないんだけど公式に対応してるアプリ

実際にテストしたアプリは全て"iPhone(iPad)に対応しています。macOSでは検証されていません"という表示になってたんですが、1つだけiphone/iPad/Macに公式に対応してるアプリがありました。

これ、selpic社のハンディプリンタを制御するアプリで、iPadにインストールしたものの接続がうまくいかなくて未だに使ってなかったアプリなんですが、なんか公式に全対応をうたってました。

f:id:n_so5:20201126162859p:plain

こういうアプリが増えてくると良いですね

*1:そもそも文字列をアプリ間で送信するのはOS側の機能のはず

apple silicon用とintel用のコマンドラインツールの使い分け

xcode-selectで入るコマンドラインツールはユニバーサルバイナリになっているようで、ターミナルを起動した時にRosettaを使用するかどうかで挙動が変わるものがあります。(ccとか)

しかし、ターミナルでrosettaを使うかどうかの指定を切り替えるには、いちいちターミナルを終了して再起動する必要があるのでこれは避けたいところです。

先日も紹介したこちらの記事によると

qiita.com

という流れのようです。

ということは、基本はarm版にしておき(ターミナルのRosetta使用チェックは外しておく)intel版のシェルを用意して、intel版のコマンドラインツールを使いたい時はそちらのシェルを実行すれば大丈夫そうです。

引用した記事ではHomebrewからintel用のzshとarm用のzshをインストールされてますが、私は特にシェルに拘りはないので*1*2intel用にはbashを、arm用にはOS標準のzshを使うことにします。

一回、Rosetta2を使うチェックを付けた状態のターミナルを起動して brew install bashし、Rosetta2のチェックを外してターミナルを再起動します。

この状態で、例えばccであれば

so5@MBA ~ % cc --version
Apple clang version 12.0.0 (clang-1200.0.32.27)
Target: arm64-apple-darwin20.1.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
so5@MBA ~ % bash
bash-5.0$ cc --version
Apple clang version 12.0.0 (clang-1200.0.32.27)
Target: x86_64-apple-darwin20.1.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

という具合に、コマンド一発でtarget archが切り替えられるようになりました。 (ccだけなら-mオプションでクロスコンパイルすりゃ良いかもしれんけどw)

brewzshからインストールしようとするとエラーになりますが、bashの中からならターミナルのRosettaのチェックはつけないままでもインストールできます。

さて、これで一応ベンチマークを測れる準備ができたかな。

*1:昔はゴリゴリとカスタマイズした.tcshrcが無いと何もできなかったんですけどねー

*2:仕事で使うようになると、わざわざ管理者にお願いしてtcsh入れてもらうのも面倒だし、そもそも.tcshrcを持って行くのも面倒ってなって最終的には素のbashで十分になったw

Apple silicon Mac book airの動作確認(その2)

昨日の続きですが、世間一般ではArm版MacというよりはApple silicon Macという方が通りが良さそうなのでタイトルはそちらに寄せてみました。

なんか既に色々とまとめられているサイトがあるようなので、こちらに載っていなくてうちでは動いたとか動かねぇっていうのを中心に見て行こうと思います。

isapplesiliconready.com

でも、その前にひとつだけ言っておかねばならんことがあります。

このサイト vuetify に全乗っかりしてて私が作ったのかと思ったwww

ビデオ会議系アプリ

昨日office365をインストールした時に、ついでにtemasは入ってて、冒頭のサイトだとrosetta2で動くよってことなのでこれはおいといて、zoomとwebexとgoto meetingを入れます。zoomもこのサイトだとrosetta2で動くよってことなのでたぶん大丈夫でしょう。

zoom

過去にzoomで招待されたミーティングのリンクを踏むと、pkgファイルのダウンロードが始まるのでそれを使ってインストールします。 いや、普通にzoom.usからダウンロードしても良いんだろうけど、ダウンロードURLを探すのが面倒なんで・・・

mac app storeには無い(というか有料の違うソフトとかがひっかかる)ので、あっちで探すのだけはやめましょうw

webex

こちらも同じく過去の招待メールから・・・と思いきやwebで普通に会議に参加しようとします(そして会議はもう終わっていると言われる) しかたがないのでciscoのページから素直にダウンロードしてきます。

www.webex.com

dmgファイルがおいてあるので、いわれるがままにインストールすれば大丈夫でした。

goto meeting

えーとこれ何だっけ・・・?

インテルかXLsoftのwebinerとAWS dev dayで使われてたアプリのようです。 これまた、過去メールからアクセスするのが難しいのでこちらのページからテストセッションにアクセスしてアプリをダウンロードします。

support.goto.com

一応3本(MS Teamsも入れたら4本)ともインストールは正常終了していて、アプリを起動しても特にエラーは出てませんが実際に会議はまだやってませんので、何かトラブルがあったらまた書きます。*1

firefoxのアドオン

firefoxのsyncが昨日はうまく動いていなかったらしく、今日になって他のアプリを色々といれてたら急にアドオンが降ってきましたw

うちでは次の9本を入れてますがどれも正常に動作してるっぽいです。

  • Amazon Assistant
  • Checker Plus for Gmail
  • Checker Plus for Google Calender
  • Cisco Webex Extension
  • last pass
  • search on Forvo
  • short keys
  • to google translate
  • アマゾン 注文履歴フィルタ

とはいえ、Firefoxapple siliconに対応するのは次のバージョンからのようなので、そのタイミングで何かまた不具合も出るかもしれませんね。

あと、ひょっとするとwebexの会議URLを踏んでもダウンロードが始まらなかったのはwebexのアドオンが有効だったせいかもしれません。

Advanced REST Client

こちらのダウンロードページからインストーラをダウンロードしてインストールします。

install.advancedrestclient.com

これも特に問題無し

DeepL

こちらのダウンロードページからインストーラをダウンロードしてインストールします。

www.deepl.com

インストール後、初回起動時に言われるがままにアクセシビリティの権限をつけるとCommand-C2回で選択中の文字列を翻訳してくれる昨日が有効になるはずなんですが、うちの環境ではこちらは使えていません。 アプリを起動して文章をコピペすると翻訳してくれるので、アプリ自体は正常に動作しているようなんですが、ショートカットで翻訳できないのはちょっと痛いですね。

Cisco AnyConnect Secure Mobility Client

ごく稀に某スパコンVPN接続をすることがあるんでとりあえずインストールしてるだけのアプリなんですが、せっかくなんで試してみました。

スパコンのマニュアルで指定されているURLヘアクセスしてアカウントとパスワードを入力すると、"Download & Install"というページが表示されて、"The installer is detecting your operating system and CPU. Please wait..."と表示されたまま固まります。

数分後に一応、mac版のダウンロードが始まりインストール自体も正常に行なえてしまいますが次の問題があるので(たぶん)正常には動作しません。

support.apple.com

具体的には、intel mac (catallina)からだとSSL-VPN接続が必須のページが見れますが、apple silicon Mac (Big Sur)から同じページを見に行くとaccess deniedと言われます。

当然ながら、AnyConnect自体はどちらの環境でも正常に接続したことになっています。

ま、これはさすがに某所が対応するまで使えないだろうからアンイストールしときます。普通に使う分には踏み台経由でsshすれば入れますしね。

app cleaner

上のAnyConnectをアンインストールしようとして、このアプリをインストールしてなかったことに気付きましたw こちらのページからversion 3.5.1をダウンロードして展開するとアプリのファイルが1つだけ入っているので、Finderでアプリケーションフォルダに移動します。

freemacsoft.net

ちなみに、AnyConnectをアンインストールしようとしてアプリケーションフォルダのAnnyConnectが入っているフォルダを見たらアンインストーラが入ってましたw

waves central / TUne

こちらのページからダウンロードしてインストールします。

www.waves.com

まだBig Surの動作確認はしてないよと書いてたような記憶がありますが、waves centralはただのインストーラなのでさすがにこれは動作しますw

そこからさらに、(私が唯一ライセンスを持っている)Waves Tuneをダウンロード&インストールします。

さらにgarage bandを起動してプラグインを設定すると・・・

f:id:n_so5:20201124002953j:plain

おお、Waves Tuneが選べる!

f:id:n_so5:20201124002757p:plain

さらに画面が表示される!!

なんか表示がめっちゃ崩れてますが、とりあえずGUIが表示されるところまでは確認できました。

実際に使えるかどうかは知らんwww

その他メジャーな不具合

うちのMac間ではユニバーサルクリップボードが機能してないようです。 intel maciPadapple silicon maciPadはそれぞれ機能してるので設定は問題無いはずなんですが・・・

ま、Airdropでファイルのやりとりはできているので現状ではあまり困ってないですし、そのうちどっちか一台しか使わなくなる気もするので大丈夫でしょうw

*1: goto meeting以外は来週全部使う予定

Arm版 Mac book Airの動作確認

Apple silicon搭載のMac book Airがようやく届いたのでセットアップしています。

周辺機器編

うちの環境は以下のハードウェアは問題なく使えています。

  • HHKB BT
  • logicool MX vertical (BT接続)
  • AfterShokz Open Comm
  • yubikey

logicoolのはマウスユーティリティは入れてない状態でとりあえず使ってます。

ソフト編

aquaskk

最新ビルドはユニバーサルバイナリなのでダウンロードしてインストールすればOK

github.com

デフォルト設定を変えるには "システム環境設定" -> "キーボード" -> "入力ソース" と進んで"+"ボタンを押して"Aqua skk統合"を選びます。

ついでに(使わない人は)"日本語 - ローマ字入力"を消しておきましょう。

あと、C-j が使えない時に備えてこちらの設定をしましょう。

github.com

私の場合は、もともと使っていたIntel macからAir dropでコピーしてきただけですが。

home brew

こちらに先達がまとめてくださってます。

qiita.com

私の場合、必要なソフトは

  • ansible
  • awscli
  • macvim
  • tree
  • watch
  • nvm

くらいのものなんですが、こちらのissueの対応状況を見ると、動作確認済のものはtreeしかありませんw

github.com

というわけで一旦rosetta2を有効にしてターミナルを再起動し、home brewをインストールします。

最初にFinderからユーティリティ→ターミナルと進んで右クリックから”情報を見る”をすると、こんな画面が表示されるので”Rosettaを使用して開く”にチェックを入れてからダブルクリックします。

f:id:n_so5:20201122230822p:plain
ターミナルの”情報を見る”画面

すると続けて"Rosetta"をインストールしますかというダイアログが表示されるのでインストールします。

f:id:n_so5:20201122230949p:plain

最後にターミナル画面からいつものスクリプトを実行すると

% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Password:
==> This script will install:
/usr/local/bin/brew
/usr/local/share/doc/homebrew
/usr/local/share/man/man1/brew.1
/usr/local/share/zsh/site-functions/_brew
/usr/local/etc/bash_completion.d/brew
/usr/local/Homebrew
==> The following new directories will be created:
/usr/local/bin
/usr/local/etc
/usr/local/include
/usr/local/lib
/usr/local/sbin
/usr/local/share
/usr/local/var
/usr/local/opt
/usr/local/share/zsh
/usr/local/share/zsh/site-functions
/usr/local/var/homebrew
/usr/local/var/homebrew/linked
/usr/local/Cellar
/usr/local/Caskroom
/usr/local/Homebrew
/usr/local/Frameworks
==> The Xcode Command Line Tools will be installed.

Press RETURN to continue or any other key to abort
==> /usr/bin/sudo /bin/mkdir -p /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/sbin /usr/local/share /usr/local/var /usr/local/opt /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew /usr/local/var/homebrew/linked /usr/local/Cellar /usr/local/Caskroom /usr/local/Homebrew /usr/local/Frameworks
==> /usr/bin/sudo /bin/chmod g+rwx /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/sbin /usr/local/share /usr/local/var /usr/local/opt /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew /usr/local/var/homebrew/linked /usr/local/Cellar /usr/local/Caskroom /usr/local/Homebrew /usr/local/Frameworks
==> /usr/bin/sudo /usr/sbin/chown sogo /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/sbin /usr/local/share /usr/local/var /usr/local/opt /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew /usr/local/var/homebrew/linked /usr/local/Cellar /usr/local/Caskroom /usr/local/Homebrew /usr/local/Frameworks
==> /usr/bin/sudo /usr/bin/chgrp admin /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/sbin /usr/local/share /usr/local/var /usr/local/opt /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew /usr/local/var/homebrew/linked /usr/local/Cellar /usr/local/Caskroom /usr/local/Homebrew /usr/local/Frameworks
==> /usr/bin/sudo /bin/mkdir -p /Users/sogo/Library/Caches/Homebrew
==> /usr/bin/sudo /bin/chmod g+rwx /Users/sogo/Library/Caches/Homebrew
==> /usr/bin/sudo /usr/sbin/chown sogo /Users/sogo/Library/Caches/Homebrew
==> Searching online for the Command Line Tools
==> /usr/bin/sudo /usr/bin/touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
==> Installing Command Line Tools for Xcode-12.2
==> /usr/bin/sudo /usr/sbin/softwareupdate -i Command\ Line\ Tools\ for\ Xcode-12.2
Software Update Tool

Finding available software

Downloading Command Line Tools for Xcode
Downloaded Command Line Tools for Xcode
Installing Command Line Tools for Xcode
Done with Command Line Tools for Xcode
Done.
==> /usr/bin/sudo /bin/rm -f /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
==> /usr/bin/sudo /usr/bin/xcode-select --switch /Library/Developer/CommandLineTools
==> Downloading and installing Homebrew...
remote: Enumerating objects: 53, done.
remote: Counting objects: 100% (53/53), done.
remote: Compressing objects: 100% (53/53), done.
remote: Total 160665 (delta 3), reused 48 (delta 0), pack-reused 160612
Receiving objects: 100% (160665/160665), 41.09 MiB | 2.68 MiB/s, done.
Resolving deltas: 100% (119078/119078), done.
From https://github.com/Homebrew/brew
 * [new branch]      master     -> origin/master
 * [new tag]             0.1        -> 0.1
(中略)
 * [new tag]             2.5.9      -> 2.5.9
HEAD is now at 6177db752 Merge pull request #9242 from reitermarkus/sorbet-delegate
==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
  https://github.com/Homebrew/brew#donations
==> Tapping homebrew/core
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core'...
remote: Enumerating objects: 42, done.
remote: Counting objects: 100% (42/42), done.
remote: Compressing objects: 100% (27/27), done.
remote: Total 842808 (delta 23), reused 26 (delta 15), pack-reused 842766
Receiving objects: 100% (842808/842808), 329.86 MiB | 2.54 MiB/s, done.
Resolving deltas: 100% (567912/567912), done.
Tapped 2 commands and 5356 formulae (5,643 files, 362.5MB).
Already up-to-date.
==> Installation successful!

==> Homebrew has enabled anonymous aggregate formulae and cask analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics
No analytics data has been sent yet (or will be during this `install` run).

==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
  https://github.com/Homebrew/brew#donations

==> Next steps:
- Run `brew help` to get started
- Further documentation: 
    https://docs.brew.sh

という具合にいつもどおりにインストールできます。

続けて、native版が対応していないソフトのインストールをします。

% brew install ansible awscli nvm macvim watch   
Warning: You are using macOS 11.0.
We do not provide support for this released but not yet supported version.
You will encounter build failures with some formulae.
Please create pull requests instead of asking for help on Homebrew's GitHub,
Twitter or any other official channels. You are responsible for resolving
any issues you experience while you are running this
released but not yet supported version.

==> Downloading https://homebrew.bintray.com/bottles/libyaml-0.2.5.big_sur.bottl
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/openssl%401.1-1.1.1h.big_su
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/81fe98e819f1d3554d98c
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/gdbm-1.18.1_1.big_sur.bottl
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/36b492f1b0910367dd394
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/readline-8.0.4.big_sur.bott
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/0a6b12ddbee78cf31dfd7
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/sqlite-3.33.0.big_sur.bottl
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/9f22ccb1b9d30d2026421
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/xz-5.2.5.big_sur.bottle.tar
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/4fbd4a9e3eb49c27e83bd
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/python%403.9-3.9.0_1.big_su
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/bd4ebe03f4c8371c87b2e
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/ansible-2.10.3_1.big_sur.bo
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/bccc1cdb7938643294de5
######################################################################## 100.0%
==> Installing dependencies for ansible: libyaml, openssl@1.1, gdbm, readline, sqlite, xz and python@3.9
==> Installing ansible dependency: libyaml
==> Pouring libyaml-0.2.5.big_sur.bottle.tar.gz
🍺  /usr/local/Cellar/libyaml/0.2.5: 10 files, 348.2KB
==> Installing ansible dependency: openssl@1.1
==> Pouring openssl@1.1-1.1.1h.big_sur.bottle.tar.gz
==> Caveats
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
  /usr/local/etc/openssl@1.1/certs

and run
  /usr/local/opt/openssl@1.1/bin/c_rehash

openssl@1.1 is keg-only, which means it was not symlinked into /usr/local,
because macOS provides LibreSSL.

If you need to have openssl@1.1 first in your PATH run:
  echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.zshrc

For compilers to find openssl@1.1 you may need to set:
  export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
  export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"

==> Summary
🍺  /usr/local/Cellar/openssl@1.1/1.1.1h: 8,067 files, 18.5MB
==> Installing ansible dependency: gdbm
==> Pouring gdbm-1.18.1_1.big_sur.bottle.tar.gz
🍺  /usr/local/Cellar/gdbm/1.18.1_1: 25 files, 787.2KB
==> Installing ansible dependency: readline
==> Pouring readline-8.0.4.big_sur.bottle.tar.gz
==> Caveats
readline is keg-only, which means it was not symlinked into /usr/local,
because macOS provides BSD libedit.

For compilers to find readline you may need to set:
  export LDFLAGS="-L/usr/local/opt/readline/lib"
  export CPPFLAGS="-I/usr/local/opt/readline/include"

==> Summary
🍺  /usr/local/Cellar/readline/8.0.4: 48 files, 1.6MB
==> Installing ansible dependency: sqlite
==> Pouring sqlite-3.33.0.big_sur.bottle.tar.gz
==> Caveats
sqlite is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

If you need to have sqlite first in your PATH run:
  echo 'export PATH="/usr/local/opt/sqlite/bin:$PATH"' >> ~/.zshrc

For compilers to find sqlite you may need to set:
  export LDFLAGS="-L/usr/local/opt/sqlite/lib"
  export CPPFLAGS="-I/usr/local/opt/sqlite/include"

==> Summary
🍺  /usr/local/Cellar/sqlite/3.33.0: 11 files, 4MB
==> Installing ansible dependency: xz
==> Pouring xz-5.2.5.big_sur.bottle.tar.gz
🍺  /usr/local/Cellar/xz/5.2.5: 95 files, 1.4MB
==> Installing ansible dependency: python@3.9
==> Pouring python@3.9-3.9.0_1.big_sur.bottle.tar.gz
==> /usr/local/Cellar/python@3.9/3.9.0_1/bin/python3 -s setup.py --no-user-cfg install --force --verbose --install-scripts=/usr
==> /usr/local/Cellar/python@3.9/3.9.0_1/bin/python3 -s setup.py --no-user-cfg install --force --verbose --install-scripts=/usr
==> /usr/local/Cellar/python@3.9/3.9.0_1/bin/python3 -s setup.py --no-user-cfg install --force --verbose --install-scripts=/usr
==> Caveats
Python has been installed as
  /usr/local/bin/python3

Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
`python3`, `python3-config`, `pip3` etc., respectively, have been installed into
  /usr/local/opt/python@3.9/libexec/bin

You can install Python packages with
  pip3 install <package>
They will install into the site-package directory
  /usr/local/lib/python3.9/site-packages

See: https://docs.brew.sh/Homebrew-and-Python
==> Summary
🍺  /usr/local/Cellar/python@3.9/3.9.0_1: 4,447 files, 72MB
==> Installing ansible
==> Pouring ansible-2.10.3_1.big_sur.bottle.tar.gz
🍺  /usr/local/Cellar/ansible/2.10.3_1: 36,795 files, 344.5MB
==> Downloading https://homebrew.bintray.com/bottles/awscli-2.1.1_1.big_sur.bott
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/e41a65e5f3cac43fabde4
######################################################################## 100.0%
==> Pouring awscli-2.1.1_1.big_sur.bottle.tar.gz
==> Caveats
The "examples" directory has been installed to:
  /usr/local/share/awscli/examples

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completions and functions have been installed to:
  /usr/local/share/zsh/site-functions
==> Summary
🍺  /usr/local/Cellar/awscli/2.1.1_1: 11,671 files, 80.6MB
==> Downloading https://github.com/creationix/nvm/archive/v0.37.0.tar.gz
==> Downloading from https://codeload.github.com/nvm-sh/nvm/tar.gz/v0.37.0
######################################################################## 100.0%
==> Caveats
Please note that upstream has asked us to make explicit managing
nvm via Homebrew is unsupported by them and you should check any
problems against the standard nvm install method prior to reporting.

You should create NVM's working directory if it doesn't exist:

  mkdir ~/.nvm

Add the following to ~/.zshrc or your desired shell
configuration file:

  export NVM_DIR="$HOME/.nvm"
  [ -s "/usr/local/opt/nvm/nvm.sh" ] && . "/usr/local/opt/nvm/nvm.sh"  # This loads nvm
  [ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && . "/usr/local/opt/nvm/etc/bash_completion.d/nvm"  # This loads nvm bash_completion

You can set $NVM_DIR to any location, but leaving it unchanged from
/usr/local/opt/nvm will destroy any nvm-installed Node installations
upon upgrade/reinstall.

Type `nvm help` for further information.

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/nvm/0.37.0: 7 files, 162.2KB, built in 1 second
==> Downloading https://homebrew.bintray.com/bottles/cscope-15.9.big_sur.bottle.
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/gettext-0.21.big_sur.bottle
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/a025e143fe3f5f7e24a93
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/lua-5.3.5_1.big_sur.bottle.
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/ruby-2.7.2.big_sur.bottle.t
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/39e7896f6b1c365dcff14
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/macvim-8.2-166_1.catalina.b
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/7f672f36e953d8eee8136
######################################################################## 100.0%
==> Installing dependencies for macvim: cscope, gettext, lua and ruby
==> Installing macvim dependency: cscope
==> Pouring cscope-15.9.big_sur.bottle.tar.gz
🍺  /usr/local/Cellar/cscope/15.9: 11 files, 744.2KB
==> Installing macvim dependency: gettext
==> Pouring gettext-0.21.big_sur.bottle.tar.gz
🍺  /usr/local/Cellar/gettext/0.21: 1,953 files, 19.8MB
==> Installing macvim dependency: lua
==> Pouring lua-5.3.5_1.big_sur.bottle.tar.gz
==> Caveats
You may also want luarocks:
  brew install luarocks
==> Summary
🍺  /usr/local/Cellar/lua/5.3.5_1: 28 files, 366.9KB
==> Installing macvim dependency: ruby
==> Pouring ruby-2.7.2.big_sur.bottle.tar.gz
==> Caveats
By default, binaries installed by gem will be placed into:
  /usr/local/lib/ruby/gems/2.7.0/bin

You may want to add this to your PATH.

ruby is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

If you need to have ruby first in your PATH run:
  echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.zshrc

For compilers to find ruby you may need to set:
  export LDFLAGS="-L/usr/local/opt/ruby/lib"
  export CPPFLAGS="-I/usr/local/opt/ruby/include"

==> Summary
🍺  /usr/local/Cellar/ruby/2.7.2: 20,156 files, 35.3MB
==> Installing macvim
==> Pouring macvim-8.2-166_1.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/macvim/8.2-166_1: 2,358 files, 45.4MB
==> Downloading https://homebrew.bintray.com/bottles/ncurses-6.2.big_sur.bottle.
Already downloaded: /Users/sogo/Library/Caches/Homebrew/downloads/8c13ed71dba38dddcea53db8a51a3482470fbe940df060ef71a4dc43d3b6844f--ncurses-6.2.big_sur.bottle.tar.gz
==> Downloading https://homebrew.bintray.com/bottles/watch-3.3.16.big_sur.bottle
Already downloaded: /Users/sogo/Library/Caches/Homebrew/downloads/6417c727d1992eb68c1bac311f6894000f29615dcfbb878c77765e30ed36103b--watch-3.3.16.big_sur.bottle.tar.gz
==> Installing dependencies for watch: ncurses
==> Installing watch dependency: ncurses
==> Pouring ncurses-6.2.big_sur.bottle.tar.gz
==> Caveats
ncurses is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

If you need to have ncurses first in your PATH run:
  echo 'export PATH="/usr/local/opt/ncurses/bin:$PATH"' >> ~/.zshrc

For compilers to find ncurses you may need to set:
  export LDFLAGS="-L/usr/local/opt/ncurses/lib"
  export CPPFLAGS="-I/usr/local/opt/ncurses/include"

==> Summary
🍺  /usr/local/Cellar/ncurses/6.2: 3,913 files, 8.9MB
==> Installing watch
==> Pouring watch-3.3.16.big_sur.bottle.tar.gz
🍺  /usr/local/Cellar/watch/3.3.16: 10 files, 135KB
==> Caveats
==> openssl@1.1
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
  /usr/local/etc/openssl@1.1/certs

and run
  /usr/local/opt/openssl@1.1/bin/c_rehash

openssl@1.1 is keg-only, which means it was not symlinked into /usr/local,
because macOS provides LibreSSL.

If you need to have openssl@1.1 first in your PATH run:
  echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.zshrc

For compilers to find openssl@1.1 you may need to set:
  export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
  export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"

==> readline
readline is keg-only, which means it was not symlinked into /usr/local,
because macOS provides BSD libedit.

For compilers to find readline you may need to set:
  export LDFLAGS="-L/usr/local/opt/readline/lib"
  export CPPFLAGS="-I/usr/local/opt/readline/include"

==> sqlite
sqlite is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

If you need to have sqlite first in your PATH run:
  echo 'export PATH="/usr/local/opt/sqlite/bin:$PATH"' >> ~/.zshrc

For compilers to find sqlite you may need to set:
  export LDFLAGS="-L/usr/local/opt/sqlite/lib"
  export CPPFLAGS="-I/usr/local/opt/sqlite/include"

==> python@3.9
Python has been installed as
  /usr/local/bin/python3

Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
`python3`, `python3-config`, `pip3` etc., respectively, have been installed into
  /usr/local/opt/python@3.9/libexec/bin

You can install Python packages with
  pip3 install <package>
They will install into the site-package directory
  /usr/local/lib/python3.9/site-packages

See: https://docs.brew.sh/Homebrew-and-Python
==> awscli
The "examples" directory has been installed to:
  /usr/local/share/awscli/examples

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completions and functions have been installed to:
  /usr/local/share/zsh/site-functions
==> nvm
Please note that upstream has asked us to make explicit managing
nvm via Homebrew is unsupported by them and you should check any
problems against the standard nvm install method prior to reporting.

You should create NVM's working directory if it doesn't exist:

  mkdir ~/.nvm

Add the following to ~/.zshrc or your desired shell
configuration file:

  export NVM_DIR="$HOME/.nvm"
  [ -s "/usr/local/opt/nvm/nvm.sh" ] && . "/usr/local/opt/nvm/nvm.sh"  # This loads nvm
  [ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && . "/usr/local/opt/nvm/etc/bash_completion.d/nvm"  # This loads nvm bash_completion

You can set $NVM_DIR to any location, but leaving it unchanged from
/usr/local/opt/nvm will destroy any nvm-installed Node installations
upon upgrade/reinstall.

Type `nvm help` for further information.

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> lua
You may also want luarocks:
  brew install luarocks
==> ruby
By default, binaries installed by gem will be placed into:
  /usr/local/lib/ruby/gems/2.7.0/bin

You may want to add this to your PATH.

ruby is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

If you need to have ruby first in your PATH run:
  echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.zshrc

For compilers to find ruby you may need to set:
  export LDFLAGS="-L/usr/local/opt/ruby/lib"
  export CPPFLAGS="-I/usr/local/opt/ruby/include"

==> ncurses
ncurses is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

If you need to have ncurses first in your PATH run:
  echo 'export PATH="/usr/local/opt/ncurses/bin:$PATH"' >> ~/.zshrc

For compilers to find ncurses you may need to set:
  export LDFLAGS="-L/usr/local/opt/ncurses/lib"
  export CPPFLAGS="-I/usr/local/opt/ncurses/include"

nvm

よく見るとnvmのインストール時になんか不穏なことを言われていました。

Please note that upstream has asked us to make explicit managing
nvm via Homebrew is unsupported by them and you should check any
problems against the standard nvm install method prior to reporting.

というわけで、brew uninstallした上で本家の方法に従ってインストールします。

github.com

せっかくだからrosetta2無しのターミナルでやってみましょう。

% curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.0/install.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 13527  100 13527    0     0  29153      0 --:--:-- --:--:-- --:--:-- 29090
=> Downloading nvm from git to '/Users/sogo/.nvm'
=> Cloning into '/Users/sogo/.nvm'...
remote: Enumerating objects: 317, done.
remote: Counting objects: 100% (317/317), done.
remote: Compressing objects: 100% (269/269), done.
remote: Total 317 (delta 36), reused 135 (delta 23), pack-reused 0
Receiving objects: 100% (317/317), 170.27 KiB | 491.00 KiB/s, done.
Resolving deltas: 100% (36/36), done.
=> Compressing and cleaning up git repository

=> Profile not found. Tried ~/.bashrc, ~/.bash_profile, ~/.zshrc, and ~/.profile.
=> Create one of them and run this script again
   OR
=> Append the following lines to the correct file yourself:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm

=> Close and reopen your terminal to start using nvm or run the following to use it now:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm

.zshrcが無いから設定を書いてないよと言われるので、.zshrcを作成して再実行します。

so5@MBA ~ % touch .zshrc
so5@MBA ~ % curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.0/install.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 13527  100 13527    0     0   151k      0 --:--:-- --:--:-- --:--:--  151k
=> nvm is already installed in /Users/sogo/.nvm, trying to update using git
=> => Compressing and cleaning up git repository

=> Appending nvm source string to /Users/sogo/.zshrc
=> Appending bash_completion source string to /Users/sogo/.zshrc
=> Close and reopen your terminal to start using nvm or run the following to use it now:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

この状態で、新しくシェルを起動すると

zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?

と文句を言われます。 こちらの記事のとおり、2箇所ほどchmod 755してあげると良いようなので とりあえずこれで対処します。

qiita.com

なんで、777でディレクトリを作っちゃったんでしょうね?

続けて、とりあえず何かインストールしようと思ってnvm install --ltsすると、nodeのコンパイルが始まりましたorz

そりゃ、arm Mac用のnodeのバイナリパッケージなんて無いから、ソースからビルドされますねw

大変面倒なんで、再びrosetta2を有効にしたターミナルを起動してそちらでnvm installしてみます。

so5@MBA ~ % nvm install --lts
Installing latest LTS version.
Downloading and installing node v14.15.1...
Downloading https://nodejs.org/dist/v14.15.1/node-v14.15.1-darwin-x64.tar.xz...
######################################################################### 100.0%
Computing checksum with shasum -a 256
Checksums matched!
Now using node v14.15.1 (npm v6.14.8)
Creating default alias: default -> lts/* (-> v14.15.1)

こっちだと問題無いですね。 でも何かそのうちトラブりそうですね。適当なターミナルアプリをインストールしてrosetta2を常時有効にしておけば、使い分けも楽になるかなぁ?

ドットファイル

いわゆるドットファイルですが、私はgithubにひととおり上げて運用しているので、そちらを使えるように設定します。 といってもgitはhome brewのインストール時に入れてくれてるので普通にgit cloneしてくるだけです。

これで、vimの設定ファイルが用意できたので、gvimを立ち上げて:PlugInstallします。その後gvimを再起動すると黒い画面その1とお別れができましたw

f:id:n_so5:20201123014048p:plain

solarized

こちらのリポジトリでターミナル用のsolarized設定が公開されています。

github.com

この手のものは、アップデートに備えてgit cloneしておくのが(vim pluginとかでは)定番なんですが、たぶん変更されることはないんで直接インストールします

ターミナルを開いて

% curl  https://raw.githubusercontent.com/tomislav/osx-terminal.app-colors-solarized/master/Solarized%20Light.terminal >'Solarized Light.terminal' && open 'Solarized Light.terminal'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  107k  100  107k    0     0   890k      0 --:--:-- --:--:-- --:--:--  890k

とするとsolarizedで設定されたターミナルが開きます。

そのままメニューから"環境設定" -> "プロファイル"と進んで、左側の一覧からSolarized Lightを選んでデフォルトに設定しましょう。これで黒い画面その2ともお別れですw

DarkテーマもインストールするならLightの部分をDarkに置き換えてDarkテーマもダウンロード&インストールしておきましょう。 一回インストールしたら、ダウンロードしたファイルは不要なので、消してしまっても問題ありません。

ブラウザ

firefoxgoogle chromeをダウンロードしてインストールします。 どちらもdmgファイルをダウンロード -> ダブルクリック -> drag and drop という流れなんですが、chromeの方はApple Mac版(いやMacは全部Appleだからapple CPU搭載Macか) とIntel Mac版が選べるようになってます。

f:id:n_so5:20201123020748p:plain

office 365

office 365の管理ページからOfficeのインストーラをダウンロードしてインストールします。 特に問題もおきず、ワード、エクセル、パワポ、Onedriveあたりは使えています。

オンラインストレージ関係

以下のものをインストールしてみましたが、google drive用は2つともエラーが出て起動できませんでした。

  • onedrive (office 365と個人アカウントの2つ)
  • google Drive file stream (GSuite用)
  • google バックアップと同期 (個人アカウント用)
  • amazon photo

google Drive file streamの方は、こういう指示が表示されますが、"セキュリティとプライバシー"を開いても許可する項目が表示されず"エラーが発生しました"と表示されて落ちます。

f:id:n_so5:20201123025922p:plain

バックアップと同期の方は設定をひととおり終えた段階でこのようなエラーが表示されます。もちろんアカウントの接続を解除してやり直しても同じエラーが繰り返されます。

f:id:n_so5:20201123031230p:plain

その他app storeから導入したアプリ

とりあえずこのへんを入れています。

  • magnet
  • The Unarchiver
  • last pass
  • slack

magnetはBig sur&apple silicon対応、The UnarchiverはBig Sur対応とそれぞれ記載されてlast passはどちらも記述無しという状態ですが、いずれも問題なく使えています。

まとめ

今のところ問題なのは、googleドライブ関連ソフトがどっちも駄目っていうのが一番大きいですが、これはそのうち解消されるだろうからあまり深刻な感じはしません。 どちらかというとlast passのsafari用機能拡張が無くなってて、彼らが対応してくれるかどうか不安なのが一番の問題かもしれませんw

まーでもMac mini(2016) -> Mac mini(2019)のアップデートをTime machineから復元する機能を使ってやった時に比べればはるかにマシですね。