create-nuxt-appのウォッチしていたissueに動きがあったので共有。

修正前

3.4.0あたりからか、ターゲットのディレクトリが空じゃないと実行できなくなっていた。

自分の場合は、Dockerfileとかdocker-compose.ymlとかの置いてあるカレントディレクトリに対して実行したら遭遇した。

$ docker-compose run --rm your_app_name yarn create nuxt-app .

Can't create . because there's already a non-empty directory . existing in path.

docker使ってなくても、git系のファイルによって同じことが起きたりする。

一時ディレクトリ作って移動させてた

仕方なく一時的なディレクトリに対して実行した後、中身を全て移動することで対処してた。

$ docker-compose run --rm your_app_name yarn create nuxt-app tmp-dir
$ mv tmp-dir/{*,.[^\.]*} .
$ rm -r tmp-dir

修正後

feat(create-nuxt-app): add --overwrite-dir flag

このPRによって、--overwrite-dirで強制実行できるようになったっぽい。

実際に試してみる

まずはオプション無しで動かしてみる。

$ docker-compose run --rm your_app_name yarn create nuxt-app .

create-nuxt-app v3.7.0
Could not create project in app because the directory is not empty.

今は3.7みたい。
微妙に表示されるメッセージも変わってるけど、同じこと言ってる。

次にオプションつけてやってみる。

$ docker-compose run --rm nuxt yarn create nuxt-app . --overwrite-dir

普通に動いた。

空じゃないディレクトリに対して強制的にcreate-nuxt-app使いたい時は--overwrite-dirつけて実行すべし。