#shopify cli をインストールしようとしてつまづいた
## 概要
% eval "$(curl -sS https://raw.githubusercontent.com/Shopify/shopify-app-cli/master/install.sh)"
とやってshopify cliをインストールしようとしたら
/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に繋いで開発していない。
やったこと
% /usr/local/bin/awk
zsh: bad CPU type in executable: /usr/local/bin/awk
動いてないねこれ多分。
###/usr/local/bin/awk を調査
% ls -la
lrwxr-xr-x 1 kazumasa_shigeta wheel 4 10 30 2013 /usr/local/bin/awk -> gawk
リンクである。
gawkをbrewでインストールする。
% brew install gawk
最後にエラー発生
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
まあそうか。動かないんだからもういいよね。上書きしてもらおう!
% brew link --overwrite gawk
Linking /usr/local/Cellar/gawk/5.1.0... 67 symlinks created
さてもう一度インストールしてみよう。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ ✔︎ 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? めんどくさいから一回打ってみよう。
% /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
あれ?動いてないや。
% 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が動いてないね?いつの間に?前は問題なく動いてたよなー???
しばらく見てないうちに何が起こってるのやら。
めんどくさいのでインストールしてみましょ。
brew install ssh
Updating Homebrew...
Error: No available formula with the name "ssh"
あれないの?
% 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をインストールする
% 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`
あっそ
% brew upgrade openssl@1.1
なんかすげーいっぱいインストールし始めたぞ?これ開発やってたらもう既にやってんだろうけど。
いつの間にこんなことに?catalina すごいな。やばい、時間測っておけばよかったってくらい時間かかる。ちょっとスクワットでもしてこよう。
さて、
すごい量のものがインストールされましたがここでは割愛します。
気を取り直して
% 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':
パスフレーズを入力!覚えててよかったー!!
┃ ✔︎ 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 を動かしてみる
さて!やっと動かせるね!!
% shopify create
? Would you like to enable auto updates for Shopify App CLI? (You chose: yes)
オートアップデートね。適当にyes
Enter passphrase for key '/Users/shigeta/.ssh/id_rsa':
パスフレーズを入れる。
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
? What type of project would you like to create? (You chose: Node.js App)
? App Name
simpleFBAって名前にしよう。
? What type of app are you building? (You chose: Custom: An app custom built for a single client.)
まずはCustomで。
𝒾 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を開いてログイン。
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にブラウザでアクセスしてストアを作ります。
さてもう一回頭からやり直してみましょう。
すると最後にまた同じエラー
✓ 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のインスールすればいいんでしょう?ここまでの感じに従えばさ。
何となく直感でこれだ
% brew install node.js
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
はいはいわかりましたよ上書きします。そうしないと進まないしね。他のものなんか開発してたりしないし。
% brew link --overwrite node
もう一度動かしてみる。
% shopify create
ふーうまくいったみたい!!
お疲れ様でした。
#参考
https://www.shopify.jp/blog/partner-shopify-app-development