shopify cli をインストールしようとしてつまづいた

#shopify cli をインストールしようとしてつまづいた

##　概要

```sh
% eval "$(curl -sS https://raw.githubusercontent.com/Shopify/shopify-app-cli/master/install.sh)"
```
とやってshopify cliをインストールしようとしたら

```sh
/tmp/shopify-bootstrap-stage2-wiMNq2: 行 14: /usr/local/bin/awk: Bad CPU type in executable
┏━━ 🦄  1/2: Installing Prerequisites ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ /tmp/shopify-bootstrap-stage2-wiMNq2: 行 56: /usr/local/bin/awk: Bad CPU type in executable
┃ shopify-app-cli is only supported on El Capitan and higher.
┗━━ 💥  Failed! Aborting! ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
と怒られた。これを何とかする。

## 結論
- /usr/local/bin/awk
- ssh
- node.js

が動いていなかったので修正した。



## 前提条件
- osx
- macOS Catalina 10.15.4
- brewがインストールされていること
- 以前　github　にコマンドライン から繋いだことがあること
- sshキーのパスフレーズを覚えていること。(id_rsaとかのね）
- 最近とんとgithubに繋いで開発していない。

## やったこと
```sh
% /usr/local/bin/awk
zsh: bad CPU type in executable: /usr/local/bin/awk
```
動いてないねこれ多分。

###/usr/local/bin/awk　を調査
```sh
% ls -la
lrwxr-xr-x  1 kazumasa_shigeta  wheel  4 10 30  2013 /usr/local/bin/awk -> gawk
```
リンクである。
### gawkをbrewでインストールする。
```sh
% brew install gawk
```
最後にエラー発生

```sh
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/awk
Target /usr/local/bin/awk
already exists. You may want to remove it:
  rm '/usr/local/bin/awk'

To force the link and overwrite all conflicting files:
  brew link --overwrite gawk
```

まあそうか。動かないんだからもういいよね。上書きしてもらおう！

```sh
% brew link --overwrite gawk
Linking /usr/local/Cellar/gawk/5.1.0... 67 symlinks created

```

さてもう一度インストールしてみよう。

```sh
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ ✔︎ Already have XCode Command Line Tools
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏━━ 🦄  2/2: Installing shopify-app-cli ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ Cloning Shopify/shopify-app-cli into /Users/shigeta/.shopify-app-cli
┃ Cloning into '.'...
┃ dyld: Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib
┃   Referenced from: /usr/local/bin/ssh
┃   Reason: image not found
┃ fatal: Could not read from remote repository.
```

なぬ？何じゃろssh?　めんどくさいから一回打ってみよう。

```sh
% /usr/local/bin/ssh

dyld: Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib
  Referenced from: /usr/local/bin/ssh
  Reason: image not found
zsh: abort      /usr/local/bin/ssh
```

あれ？動いてないや。

```sh
% ssh
dyld: Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib
  Referenced from: /usr/local/bin/ssh
  Reason: image not found
zsh: abort      ssh
```

おおう！そもそも普通のsshが動いてないね？いつの間に？前は問題なく動いてたよなー？？？
しばらく見てないうちに何が起こってるのやら。

めんどくさいのでインストールしてみましょ。

```sh
brew install ssh
Updating Homebrew...
Error: No available formula with the name "ssh" 

```

あれないの？

```sh
 % brew search ssh
==> Formulae
assh                    libssh ✔                pssh                    sshfs                   vassh
autossh                 libssh2                 rssh                    sshguard                zssh
aws-shell               mpssh                   ssh-audit               sshtrix
csshx                   mussh                   ssh-copy-id             sshuttle
git-ssh                 openssh ✔               ssh-permit-a38          stormssh
gssh                    pipes-sh                ssh-vault               stormssh-completion
==> Casks
ssh-config-editor                                            ssh-tunnel-manager

```
openssh でいいかな直感的に。

### brewでopensshをインストールする

```sh 
 % brew install openssl
Error: openssl@1.1 1.1.1f is already installed
To upgrade to 1.1.1g, run `brew upgrade openssl@1.1`
```

あっそ

```sh 
% brew upgrade openssl@1.1
```
なんかすげーいっぱいインストールし始めたぞ？これ開発やってたらもう既にやってんだろうけど。
いつの間にこんなことに？catalina　すごいな。やばい、時間測っておけばよかったってくらい時間かかる。ちょっとスクワットでもしてこよう。


---

さて、
すごい量のものがインストールされましたがここでは割愛します。

気を取り直して

```sh
% eval "$(curl -sS https://raw.githubusercontent.com/Shopify/shopify-app-cli/master/install.sh)"

┏━━ 🦄  1/2: Installing Prerequisites ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ ✔︎ Already have XCode Command Line Tools
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏━━ 🦄  2/2: Installing shopify-app-cli ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ Cloning Shopify/shopify-app-cli into /Users/shigeta/.shopify-app-cli
┃ Cloning into '.'...
Enter passphrase for key '/Users/shigeta/.ssh/id_rsa': 

```
パスフレーズを入力！覚えててよかったー！！

```sh
┃ ✔︎ cloned shopify/shopify-app-cli
┃ ✔︎ shell set up for shopify-app-cli
┃ ✔︎ NOTE: added a line to the end of /Users/shigeta/.zshrc
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ shopify-app-cli is installed!
┃ Run shopify help to see what you can do, or read https://github.com/Shopify/shopify-app-cli.
┃ To start developing on shopify, for example:
┃   * run shopify create
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
うむ！良さげだ！！

### 注意！

あれ？
今brew で　ssl(openssl)入れなかった？ssh(openssh)じゃなくて！
完全に間違えたね。繋がって勝手に入ったんだねきっと。あはは！でも動いたからいいでしょ？


### Shopify cli　を動かしてみる


さて！やっと動かせるね！！

```sh
% shopify create

? Would you like to enable auto updates for Shopify App CLI? (You chose: yes)
```
オートアップデートね。適当にyes

```sh
Enter passphrase for key '/Users/shigeta/.ssh/id_rsa':  
```
パスフレーズを入れる。

```sh                                                                
Updating shopify-cli... done!                                                                                           
? Would you like to enable anonymous usage reporting?
If you select “Yes”, we’ll collect data about which commands you use and which errors you encounter.
Sharing this anonymous data helps Shopify improve this tool.
? Would you like to enable anonymous usage reporting?
If you select “Yes”, we’ll collect data about which commands you use and which errors you encounter.                 
Sharing this anonymous data helps Shopify improve this tool.                                                            
 (You chose: no)
```
適当にno



```sh
? What type of project would you like to create? (You chose: Node.js App)
? App Name   
```

simpleFBAって名前にしよう。

```sh                                                                                                           
? What type of app are you building? (You chose: Custom: An app custom built for a single client.)
```
まずはCustomで。

```sh
𝒾 Authentication required. Login to the URL below with your Shopify Partners account credentials to continue.           
Please open this URL in your browser:                                                                                   
https://accounts.shopify.com/oauth/authorize?client_id.............
```
ブラウザでアクセスしろってさ。
ブラウザでurlを開いてログイン。

```sh
Organization 蝶々堂
✗ No Development Stores available.
Visit https://partners.shopify.com/000000000/stores to create one
For authentication issues, run shopify logout to clear invalid credentials
✓ node v0.6.6
✗ Failed to get the current npm version. Please make sure it is installed as per the instructions at https://www.npmjs.com/get-npm.

```
ストアを作れだって。urlにブラウザでアクセスしてストアを作ります。

さてもう一回頭からやり直してみましょう。
すると最後にまた同じエラー

```sh
✓ node v0.6.6
✗ Failed to get the current npm version. Please make sure it is installed as per the instructions at https://www.npmjs.com/get-npm.

```

### node.jsをbrewでインストールする
まーnodeのインスールすればいいんでしょう？ここまでの感じに従えばさ。

何となく直感でこれだ

```sh
% brew install node.js

```

```sh
Error: Could not symlink bin/node
Target /usr/local/bin/node
already exists. You may want to remove it:
  rm '/usr/local/bin/node'

To force the link and overwrite all conflicting files:
  brew link --overwrite node

To list all files that would be deleted:
%  brew link --overwrite --dry-run node
```
はいはいわかりましたよ上書きします。そうしないと進まないしね。他のものなんか開発してたりしないし。

```sh
% brew link --overwrite node
```

### もう一度動かしてみる。

```sh
% shopify create
```

ふーうまくいったみたい！！



お疲れ様でした。

#参考
https://www.shopify.jp/blog/partner-shopify-app-development