Closed2
npx zenn new:article で "error Cannot convert undefined or null to object"
解決
npm install zenn-cli@latest
アップデートしたら治りました。
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記事だった説もあり
思考の妨げになっていた勘違い
- npxコマンドを、ローカルインストールしていないコマンドを実行するだけのコマンドと勘違いしていたのでローカルのnpmパッケージのバージョンはnpxには関係ないと思い込んでいました。
- (冷静に考えて、ローカルにないかどうか判断する為に一回ローカル探しに行くんですよね...盲点)
以下の記事がとても参考になりました。
npxコマンドをたたくと次の順番でコマンドを探します。
- ローカルパッケージ(node_modules/.bin)
- 環境変数PATH
- npmレジストリ
このスクラップは2021/10/25にクローズされました