🖥

Macの環境構築をやった話

2021/12/27に公開

環境構築をするための情報整理

必要な環境は以下。

  • .sshフォルダを旧環境から持ってきて使えるようにする
  • パッケージ管理システムを入れる
  • Node.jsバージョン管理ツールを入れる
  • Gitへのアクセス
  • Rubyを使えるようにする

旧環境からバックアップしていた.sshフォルダを使えるようにする

SSH公開鍵、秘密鍵の入っている.sshフォルダを配置後、試しにSSH接続をしてみたらWarningが出た。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for '/Users/username/.ssh/filename' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /Users/username/.ssh/filename
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

秘密鍵のファイルのパーミッションが開きすぎていてのエラー。
このままだと他人にアクセスされてしまうと注意された。
ファイルのパーミッションを変更すれば良さそう、以下のコマンドを実行。

$ chmod 0600 ~/.ssh/filename

無事にアクセスできた。

パッケージ管理システムを入れる

結局、旧環境と同じHomebrewに落ち着いた。
なんやかんやと一番使いやすいかもしれない。

公式サイトにある以下のコマンドを入れれば完了。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

https://brew.sh/index_ja

Node.jsバージョン管理ツールを入れる

旧環境ではnodenv使ってたけど、今回はちまたで良いと言われているnを入れてみた。
公式サイトの手順に沿ってやればOK。

https://github.com/tj/n

Homebrewを使ってインストール

$ brew install n

これで終わった、めっちゃ簡単・・・
念のため、Homebrewで管理されているものを確認。

$ brew list
==> Formulae
ca-certificates	n		openssl@1.1	starship

わかりにくい😂
けどちゃんと入ってます。

$ n -V
v8.0.1

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

インストールしたいバージョン番号を追記するだけ。

$ n 10.15.3

ところが怒られた。

installing : node-v10.15.3
    mkdir : /usr/local/n/versions/node/10.15.3
mkdir: /usr/local/n/versions/node/10.15.3: Permission denied

Error: sudo required (or change ownership, or define N_PREFIX)

/usr/local/にフォルダがないのと、フォルダを作る権限がないため。
ターミナルでやるならsudo指定する。

今回はFinderで隠しフォルダを表示させた上で/usr/local/にアクセス。
nフォルダも作成されていないので、nフォルダを作成。
再度、バージョン指定インストールを実行すると以下のように成功する。

installing : node-v10.15.3
    mkdir : /usr/local/n/versions/node/10.15.3
    fetch : https://nodejs.org/dist/v10.15.3/node-v10.15.3-darwin-x64.tar.xz
installed : v10.15.3 (with npm 6.4.1)

ダウンロード可能なリモートのバージョン一覧を表示

最新の推奨版(サポート公式リリース)

$ n ls-remote lts

最新版(公式リリース)

$ n ls-remote latest

コアバージョン指定

10に絞ってリスト表示したい場合。

$ n lsr 10
$ n lsr 10
Listing remote... Displaying 20 matches (use --all to see all).
10.24.1
10.24.0
10.23.3
10.23.2
10.23.1
10.23.0
10.22.1
10.22.0
10.21.0
10.20.1
10.20.0
10.19.0
10.18.1
10.18.0
10.17.0
10.16.3
10.16.2
10.16.1
10.16.0
10.15.3

すべてのバージョン指定

$ n --all lsr

nodeのバージョン切り替え

nでインストールしているnodeのバージョン切り替えをするには、nコマンドのみ。

$ n

    node/10.15.3
    node/10.16.3
    node/14.3.0
  ο node/14.5.0

Use up/down arrow keys to select a version, return key to install, d to delete, q to quit

説明もついてる、とても親切。
上下キーで使いたいバージョンへοを動かす。
ここから抜ける場合はQキーを押す。

フォルダごとのバージョン指定

ちなみに、プロジェクトフォルダごとのバージョン指定は、.node-versionファイルがあれば自動的に対応してくれる。

https://github.com/tj/n#specifying-nodejs-versions

Gitへのアクセス

GitLabは、初回のアクセス時にUsernameとPasswordを入れればその後はつながるようになった。
GitHubが、2021年8月からターミナルからのパスワード接続ができなくなっていたのでパーソナルアクセストークンを作る必要が。
詳しい説明はGitHubのヘルプにある。

https://docs.github.com/ja/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token

GitHubの管理画面から
Settings > Developer settings > Personal access tokensにアクセス。
Generate new tokenで新しいトークンを作成。
あとは、わかりやすい名前入れたり、設定したり。

scopesrepoに入れとけば良さそう。

全部設定できたらGenerate tokenボタンを押下。
パーソナルアクセストークンが作成されて表示される。

Rubyを使えるようにする

案件でRubyの環境が必要なため構築。
現状確認。

$ which gem
/usr/bin/gem
$ which ruby
/usr/bin/ruby

rbenvでrubyを管理する

rbenvを管理するためanyenvを入れる。
まずはbrew経由でanyenvをインストール。

$ brew install anyenv

anyenvでインストールできるリストを確認。

$ anyenv install -l

anyenvの初期化処理。

 $ anyenv init

.zshrcに以下を記入してパスを通す。

eval "$(anyenv init -)"
export PATH="$HOME/.anyenv/bin:$PATH"

シェルを再起動。

$ exec $SHELL -l

anyenvのセットアップ。

$ anyenv install --init

途中で確認を求められたらそのまま続行。
Completed!まで表示されたら完了。

anyenvでrbenvをインストール

続いてrbenvをインストール。

$ anyenv install rbenv

rbenvがインストールされたことを確認。

$ rbenv -v
rbenv 1.2.0-6-g304cb7b

rbenvを使用してrubyのバージョンを指定してインストール。

$ rbenv install 3.0.3
$ rbenv versions
* system
  3.0.3

systemのバージョンが選択されているので、バージョンを指定。

$ rbenv global 3.0.3
$ rbenv versions
  system
* 3.0.3 (set by /Users/username/.anyenv/envs/rbenv/version)

これでglobalでのバージョンが3.0.3になった。
gemrubyがどこを見ているのかパスを確認。

$ which ruby 
/Users/username/.anyenv/envs/rbenv/shims/ruby
$ which gem
/Users/username/.anyenv/envs/rbenv/shims/gem

おわりに

ここまでで、コーディングを行える最低限の環境は整ったかと思います。
はじめて環境構築をした時よりもすんなりとできあがった気がする・・・

個人的には、あとWordPressのローカル環境構築がありますがこちらもどこかで記事に残しておきたい。

私の記事は、自分の記憶定着とアウトプットのために書いています。
言葉遣いなどお気になさらぬよう、お願いします。
なにか間違いとかアドバイスなどいただけましたら泣いて喜びます。

ではまたどこかで・・・。

Discussion