Shopify CLIのインストールと認証(macOS・Windows・Homebrew別)

Shopify CLIはテーマとアプリ開発を1本で扱うツールで、テーマ開発ではshopify theme devでローカルプレビューを立ち上げるのが起点になります。現行はメジャーバージョン4系です(2026年5月に4.0がリリースされ、セマンティックバージョニングへ移行しました。インストールに使ったパッケージマネージャ経由での自動アップグレードが既定になりました。CI環境やメジャーバージョン更新では自動更新はスキップされます)。前提としてNode.js 22.12以上とGit 2.28以上(加えてnpm/Yarn/pnpmのいずれか)が必要です(要件はバージョンで変わるため、導入時に公式ドキュメントで最新の値を確認するのが確実です)。

OSごとのインストール手順とバージョン確認方法

導入経路はOSで分かれます。すでにNode環境があるならnpm、環境を汚したくないmacOSならHomebrewが無難です。

  • macOS/Windows共通(npm):npm install -g @shopify/cli@latest
  • macOS(Homebrew):brew tap shopify/shopify のあと brew install shopify-cli(tap名・パッケージ名は変わる場合があるため、公式の案内を確認してください)

入れ終わったらshopify versionを実行し、4系の番号が返るか確認します。ここで「command not found」が出るのは、npm版でグローバルbinのパスが通っていないのが典型です。PATHを見直せば解決します。

shopify auth loginで開発ストアに接続する流れ

認証はshopify auth login単体で叩くより、shopify theme dev --store your-store.myshopify.comのように--storeを渡してブラウザ認証へ誘導する流れが実務では素直です。ログイン後はセッションが保存され、次回以降は省略できます。複数ストアを扱う現場では、shopify auth logoutで明示的に切り替えないと別ストアを誤って操作しかねないので注意してください。

テーマ開発で実際に使うコマンドと使い分けの判断基準

覚えるべきは実質3つです。

shopify theme dev・pull・pushの役割と使いどころ

theme devはローカルの変更をホットリロードで確認する開発用で、本番には一切影響しません。まずはこれを常時起動しておくのが基本形です。theme pullは管理画面や他の担当者が加えた変更を手元へ取り込むコマンドで、作業開始前の同期に向きます。一方theme pushは手元の成果をストアへ書き込む系で、ここだけ事故のリスクが桁違いに跳ね上がります。Liquidの記述に不安があるなら、Liquidテンプレートの基礎を先に押さえておくと手戻りが減ります。

なお、新規テーマを作るshopify theme initでは、4系から雛形の既定クローン元がDawnからSkeletonテーマに変わっています。

theme pushで本番テーマを上書きする事故を防ぐ検証手順

shopify theme pushの最大の落とし穴は、引数を省くと対話メニューが出て、そこで公開中テーマ(Liveテーマ)を選んでしまう事故です。深夜作業で選択を一つ間違えて本番CSSを壊した、という話はこの業界で珍しくありません。

防ぎ方は単純で、公開テーマへ直接pushしないことに尽きます。加えてCLI自体にも、公開中(ライブ)テーマへのpushは--allow-liveフラグを明示しない限り許可しないガードがあります。CLIのガードと非公開テーマ運用の二段構えで守るのが実務の基本です。

安全な手順は次の通りです。まずshopify theme push --unpublished --theme "作業用_$(date +%Y%m%d)"で非公開テーマとして新規アップロードし(オプションの正確な仕様は公式ドキュメントで確認してください)、管理画面のプレビューで表示崩れやチェックアウト導線を目視確認します。そのうえで公開操作は管理画面側で行います。CLIから直接Liveを触らず公開だけ管理画面に寄せれば、押し間違いの被害を確定前に食い止められます。反映後は該当ページを実ブラウザで開き、変更したセクションが意図どおり出ているかまで確かめて、初めて完了と判断してください。