shopify

shopify CLIのインストール時にbrew tap shopify/shopifyがエラーになる

youtubeのこの動画を見ながらshopifyのサンプルアプリを開発してみようとして、shopify CLIをインストールする場面があった。

インストール方法の記載があるドキュメントはこちら

で、まず brew tap shopify/shopify でCLIをインストールしょうとしたら以下のエラー

$ brew tap shopify/shopify
Error:
  homebrew-core is a shallow clone.
  homebrew-cask is a shallow clone.
To brew update, first run:
  git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
  git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow
This restriction has been made on GitHub's request because updating shallow
clones is an extremely expensive operation due to the tree layout and traffic of
Homebrew/homebrew-core and Homebrew/homebrew-cask. We don't do this for you
automatically to avoid repeatedly performing an expensive unshallow operation in
CI systems (which should instead be fixed to not use shallow clones). Sorry for
the inconvenience!


Google翻訳にぶちこむと以下の意味である。

エラー: homebrew-coreは浅いクローンです。 homebrew-caskは浅いクローンです。 brew updateを実行するには、最初に次のコマンドを実行します。 git -C / usr / local / Homebrew / Library / Taps / homebrew / homebrew-core fetch –unshallow git -C / usr / local / Homebrew / Library / Taps / homebrew / homebrew-cask fetch –unshallow 浅い更新のため、この制限はGitHubのリクエストで行われました。 クローンは、ツリーのレイアウトとトラフィックのために非常にコストのかかる操作です。 Homebrew / homebrew-coreおよびHomebrew / homebrew-cask。私たちはあなたのためにこれをしません で高価な浅くない操作を繰り返し実行することを避けるために自動的に CIシステム(代わりに、浅いクローンを使用しないように修正する必要があります)。すみません 不便!

google翻訳

どうやらhomebrewがGithubからトラフィックコストが高いから浅いクローンの方式??を辞めてくれと言われてみたいで、注意を出している模様。
素直に以下のコマンドを叩きます。

git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow

homebrew-coreとhomebrew-caskの両方必要みたいです。
時間はお互いに結構かかります。(2つで10分くらい??)

詳しい内容はhomebrew-core is a shallow clone.でググるといっぱい解説が出てきます。笑

2020年12月くらいから出てきているみたいなので、やっていない人はアップデートして下さいね。

$ git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
remote: Enumerating objects: 657800, done.
remote: Counting objects: 100% (657756/657756), done.
remote: Compressing objects: 100% (223296/223296), done.
remote: Total 648108 (delta 428421), reused 641498 (delta 421956), pack-reused 0
Receiving objects: 100% (648108/648108), 256.98 MiB | 6.55 MiB/s, done.
Resolving deltas: 100% (428421/428421), completed with 8445 local objects.
From https://github.com/Homebrew/homebrew-core
   47333eded6..920d0b3e8d  master     -> origin/master

$ git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow
remote: Enumerating objects: 409534, done.
remote: Counting objects: 100% (409511/409511), done.
remote: Compressing objects: 100% (119105/119105), done.
remote: Total 402852 (delta 288054), reused 397965 (delta 283184), pack-reused 0
Receiving objects: 100% (402852/402852), 179.99 MiB | 7.98 MiB/s, done.
Resolving deltas: 100% (288054/288054), completed with 4123 local objects.
From https://github.com/Homebrew/homebrew-cask
   290891135c..428eca25fa  master     -> origin/master

これでhomebrewの問題は解決したので、改めてインストール!

$ brew tap shopify/shopify
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 3 taps (shopify/shopify, homebrew/core and homebrew/cask).
~~~~~~~~~~~~(略)~~~~~~~~~~~~~~~~~~~~

$ brew install shopify-cli
==> Installing shopify-cli from shopify/shopify
==> Downloading https://rubygems.org/downloads/shopify-cli-1.5.0.gem
######################################################################## 100.0%
==> tar -xf /Users/xxxxxxx/Library/Caches/Homebrew/downloads/89acddc579f58104c7395a6946c7fc5778988a37ac79578699eadeb934cd9d78--shopify-cli-1.5.0.gem --directory /pri
==> tar -xzf /private/tmp/shopify-cli-20210211-87869-o264hh/data.tar.gz --directory /private/tmp/shopify-cli-20210211-87869-o264hh/src
🍺  /usr/local/Cellar/shopify-cli/1.5.0: 324 files, 725.6KB, built in 5 seconds
==> brew cleanup has not been run in 30 days, running now...
Removing: /Users/xxxxxxx/Library/Logs/Homebrew/pcre2... (64B)
Removing: /Users/xxxxxxx/Library/Logs/Homebrew/git... (64B)

無事にインストールできました。

最後にhelpが出てくれば、問題なくインストール完了です。

$ shopify -h
Use shopify help <command> to display detailed information about a specific command.

Available core commands:

connect: Connect (or re-connect) an existing project to a Shopify partner organization and/or a store. Creates or updates the .env file, and creates the .shopify-cli.yml file.
  Usage: shopify connect

create: Create a new project.
  Usage: shopify create [ node | rails ]

logout: Log out of a currently authenticated partner organization and store, or clear invalid credentials
  Usage: shopify logout

version: Prints version number.
  Usage: shopify version

別記事でアプリの作成過程も書けたら書きます。

以上です。

ABOUT ME
りょう
都内在住 | 30代 駆け出しエンジニアやエンジニアになりたい人向けに役立つ情報発信中 とある中小ベンチャーのバックエンドエンジニアです。 別の職種の仕事をしていたがある日突然webサイト作成に興味を持ち、そこから猛勉強をしてエンジニアになりました。 エンジニアになって2年の実務を経て独立してフリーランスに 現在もフルタイムで働きつつやってます。 Go | GCP