Windowsでyarnが動かなかった。

macで開発していたNuxtのソースコードをwindowsに持ってきた。

yarnの開発環境はscoopで構築した。

$ scoop install node yarn

これでコンパイル!しようとしたら失敗した。

$ yarn run generate yarn run v1.22.4 > $ nuxt generate 'nuxt' is not recognized as an internal or external command, operable program or batch file. error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

nuxtが見つからないよ!って怒られてるらしい。もちろんちゃんとyarnでのnuxtのインストールはしてあるので、エラーになるのはよくわからない。

解決策

調べてみたところ、cross-envを使うといいらしい。

まずはcross-envのインストール

$ yarn global add cross-env

それに加えて、package.jsonの書き換えを行う。

- "dev": "nuxt", - "build": "nuxt build", - "start": "nuxt start", - "generate": "nuxt generate", + "dev": "cross-env nuxt", + "build": "cross-env nuxt build", + "start": "cross-env nuxt start", + "generate": "cross-env nuxt generate",

これで実行すると成功した。

cross-envは、「開発環境ごとの差異を吸収してくれる」ということらしいが、よくわかっていない。

nodeのライブラリは全体的によくわからないものしかない。

参考サイト

海老原 祐輔
海老原 祐輔
Yusuke Ebihara