コマンドプロンプトでShopify App CLI を使おうとしたらうまく動かなかった話
Shopify Partnerを目指して修行中です。
今回、あまり本質的ではないことで悩むことが多く、またそれについて調べても情報が出てこなかったので、
小さなことでも積極的に記事を書こうと思いました。
今回は、Shopify App CLIがうまく動かせないWindowsユーザーのための小話。
環境
OS: Windows 10
事前にインストールしたもの: Ruby, Node.js, Shopify App CLI
※Rubyは直接開発で使わない場合でも、Shopify App CLIをダウンロードするのに必須となるためダウンロードしました。
2.5.0以上が必要です。
現象
CLIダウンロードも終わったし、さっそくアプリを作ろう!と意気込んで、shopify create
を叩いてみた。
shopify create node
? App name
> cli-test-4
? What type of app are you building? (You chose: Public: An app built for a wide merchant audience.)
Partner organization [パートナーアカウント (番号)]
? Select a development store (You chose: [開発ストア])
√ node v14.16.0
√ npm 6.14.11
┏━━ Cloning https://github.com/Shopify/shopify-app-node.git into cli-test-4... ━
┃ 100%
┗━━ √ Cloned into cli-test-4 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ (3.52s) ━━
ここでぶつっと処理が途切れる。
エラーメッセージも出ないので困惑。いったい何が悪かったの…?
原因
Windowsコマンドプロンプトで実行していたら上記の現象が起こったが、ふと思いついてPowerShellで実行してみたらうまくいきました。
なぜ・・・なのかは、エラーも出ていないしまったくわからない。コマンドプロンプトでは使えないコマンドがCLIに含まれていたのでしょうか?
理由がわかる方、ぜひ教えてください。
教訓
ping を打つ程度ならコマンドプロンプトでもよいけど、上位互換であるPowerShellを積極的に使っていったほうが、変なところで悩まないで済むかも。
長年Windows使っているとすぐコマンドプロンプトを使いたがってしまうけど、もう今日からやめます。
スタートアップとタスクバーに常駐していたコマンドプロンプトさんには引退してもらいましょう。
追記:原因全然違いました。ごめんなさい。
PowerShellでも同じ現象が起こることがあったので、いろいろ試してみると、
C:\Users\[ユーザー名]\Documents
の場所で走らせるとOK、それ以上に階層を潜るとNGになる…。
あれ、もしかして?と思ってコマンドプロンプトで同じことを試してみたら、こっちでもうまくいく。
…コマンドプロンプト先輩、ごめんなさい疑って…、あなたが悪いわけじゃないんでしたね。
さらに試してみると、以下の結果になりました:
C:\Users\[ユーザー名]\Documents
:OK
C:\Users\[ユーザー名]\Documents\shopify_test
:OK
C:\Users\[ユーザー名]\Documents\shopify_test\テスト
:NG
C:\Users\[ユーザー名]\Documents\shopify_test\テスト\test
:NG
こ れ は ・ ・ ・
CLIを実行するディレクトリに至るまでの階層に、全角文字を含むディレクトリがあると実行失敗するということですね…?
まったくもって見当違いの結論書いていて失礼しました。そして私のローカルフォルダがぐちゃぐちゃなのがいけなかったんですね。理解しました。
改めて教訓
ローカル環境で開発作業をするときは、シンプルに半角でディレクトリを作りましょう。
考えてみれば当たり前なんだけど、失念していました。お気を付けください。