/var/www/yatta47.log

/var/www/yatta47.log

やったのログ置場です。スクラップみたいな短編が多いかと。

@docusaurus/init で失敗した場合の対処

f:id:yatta47:20201122115814p:plain

11/28追記:

本日確認したところ、公式サイトも更新されていたので公式サイト通りのコマンドで実行可能です。
公式サイトを参考で問題ないと思います。

--- ここから本文

静的サイトジェネレータのDocusaurusというのを使ってみようと思って早速躓いたのでメモを残しておきます。

起こった現象

docusaurusでの初期テンプレートを作ろうと思って、いろいろなサイトを確認してよく出ていた以下のコマンドを打ってみたらエラーになりました。

$ npx @docusaurus/init@next init my-website classic
npm ERR! code ETARGET
npm ERR! notarget No matching version found for @docusaurus/init@next.
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/vagrant/.npm/_logs/2020-11-22T02_50_18_821Z-debug.log
Install for [ '@docusaurus/init@next' ] failed with code 1
$

なぜ・・・・。

では公式サイトを確認。

v2.docusaurus.io

公式サイトを見たら、ちょっとコマンド変わっていてそれの通りに打ってみてもエラー。

$ npx @docusaurus/init init my-website classic
Too many arguments.
$

なぜ・・・・・

 

原因

Issueを確認してみたら書いてありました。

github.com

ようは@nextというタグはなくなっていて、latestが引っ張られるようになったと。

「タグを省略したら、latestになるのかな?」と思ったのですがそれだと公式に書いてある通りのコマンドラインとなり、エラーでした。

なので、タグとしてlatestを明示的に指定したら出来ました。

npx @docusaurus/init@latest init my-website classic

 

まとめ

やる時期がわるかったのか、ちょっとはまりました。

結果でいえば

npx @docusaurus/init@latest init my-website classic

という形で明示的にlatestというタグを指定してあげるとできました。

まさかこんな形ではまるとは・・・・

誰かの参考になればと思います。