npx @wordpress/create-block が通らないときはNode.jsのバージョンを上げよう(再インストール)

タイトルの通りではありますが、普段たいしてnpmもつかわないPCでブロックの作成 チュートリアルを見ながらWordPressのカスタムブロック練習をしようと、下記のコマンドを実行したところ

$ npx @wordpress/create-block starter-block

↓↓このメッセージが出てきて詰まりました。

Cannot destructure property `writeFile` of 'undefined' or 'null'.

Node.jsのバージョンを上げてみる

確認してみたところ、Node.jsのバージョンが古い。

$ node -v
v8.9.1

nodebrewやnといった素敵なものが入っていないので、Node.js公式サイトからダウンロードしてインストールし、記事執筆時点での最新「v14.15.3」に上げます。

再度 npx @wordpress/create-block starter-block を試すと…

npm ERR! cb.apply is not a function

あれ?と思って npm cache clean してみましたが

npm does not support Node.js v14.15.3

npm おかしくなってる!?

Node.jsを入れなおしてみる

ときに、Node.jsとnpmのバージョンがズレることがあるようで、ズレるとおかしくなるとのことでしたので、きれいに消してから入れなおします。

アプリと機能(プログラムの追加と削除)からNode.jsを消す

Node.jsを消します。

%APPDATA%から npm と npm-cache フォルダを消す

C:\Users\[ユーザー名]\AppData\Roaming から npm と npm-cache フォルダを消します。

%APPDATA% と入力すると移動できるので便利

Node.jsをインストールする

Node.js公式サイトからダウンロードしてインストールします。

直った

Node.jsを入れなおしてみた結果、無事に動作はなおり、コマンドが通るようになりました!

$ npx @wordpress/create-block starter-block
npx: installed 225 in 27.949s

Creating a new WordPress block in "starter-block" folder.

Creating a "block.json" file.

Creating a "package.json" file.

Installing packages. It might take a couple of minutes...

Formatting JavaScript files.

Compiling block.

Done: block "Starter Block" bootstrapped in the "starter-block" folder.

npmの様子がおかしいときは、Node.jsをアンインストール&再インストールが良いかもしれないですね…!