create-nuxt-appが空ディレクトリじゃなくても実行可能になったので試してみる

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 つけて実行すべし。

© 2022 fu9da