Closed2

npx zenn new:article で "error Cannot convert undefined or null to object"

k13ik13i

解決

npm install zenn-cli@latest

アップデートしたら治りました。

https://zenn.dev/zenn/articles/install-zenn-cli#cliをアップデートする

Zenn CLIの表示がzenn.devと異なるときやCLI利用時に更新通知が表示されたときは下記のコマンドでアップデートを行ってください。

最初にこれを見れればよかった

起きたこと

久々にzenn記事を書こうとしたら以下のエラー(一部抜粋)

29 verbose stack     at async /opt/homebrew/lib/node_modules/npm/node_modules/libnpmexec/lib/index.js:106:12
29 verbose stack     at async Promise.all (index 0)
29 verbose stack     at async exec (/opt/homebrew/lib/node_modules/npm/node_modules/libnpmexec/lib/index.js:94:17)
30 verbose cwd (zenn用projectのパス)
31 verbose Darwin 20.4.0
32 verbose argv "/opt/homebrew/Cellar/node/16.11.0/bin/node" "/opt/homebrew/lib/node_modules/npm/bin/npm-cli.js" "exec" "--" "zenn" "new:article"
33 verbose node v16.11.0
34 verbose npm  v8.0.0
35 error Cannot convert undefined or null to object
36 verbose exit 1

思い当たる原因

  • 最近Reactの環境構築したのでその際にnode周りで何かやってしまった?
    • 忘れていただけでこの記事がこの端末で最初のzenn記事だった説もあり
k13ik13i

思考の妨げになっていた勘違い

  • npxコマンドを、ローカルインストールしていないコマンドを実行するだけのコマンドと勘違いしていたのでローカルのnpmパッケージのバージョンはnpxには関係ないと思い込んでいました。
    • (冷静に考えて、ローカルにないかどうか判断する為に一回ローカル探しに行くんですよね...盲点)

以下の記事がとても参考になりました。

npxコマンドをたたくと次の順番でコマンドを探します。

  1. ローカルパッケージ(node_modules/.bin)
  2. 環境変数PATH
  3. npmレジストリ

https://dev.classmethod.jp/articles/node-npm-npx-getting-started/#toc-9

このスクラップは2021/10/25にクローズされました