yarn を使ってビルドしていたら、原因不明の parse エラーに悩まされました。
結論としては、ビルド時のキャッシュがおかしくなったっぽく、キャッシュや node_module ディレクトリを削除してビルドし直せば治ります。
キャッシュを削除するって初歩的なところでしたね😅
エラーの例
例えば storybook を使ってプロジェクトを作っていて、いきなり以下のようなエラーに悩まされました。
ローカルでは全く問題なくビルドできていたのです。
[ssh@example.com]$ NODE_OPTIONS=--max_old_space_size=4096 yarn build-storybook:coding
yarn run v1.22.19
$ BASE_PATH=/storybook build-storybook -o dist/storybook
info @storybook/vue3 v6.5.10
info
info => Cleaning outputDir: /var/www/html/dist/storybook
info => Loading presets
info => Compiling manager..
ERR! => Failed to build the manager
ERR! Cannot parse records: Unexpected end of JSON input while parsing near ''
ERR! TypeError: previewBuilder.bail is not a function
ERR! at /var/www/html/node_modules/@storybook/core-server/dist/cjs/build-static.js:219:26
ERR! at processTicksAndRejections (node:internal/process/task_queues:96:5)
ERR! at async Promise.all (index 0)
ERR! at async buildStaticStandalone (/var/www/html/node_modules/@storybook/core-server/dist/cjs/build-static.js:218:28)
ERR! at async buildStatic (/var/www/html/node_modules/@storybook/core-server/dist/cjs/build-static.js:254:5)
ERR! TypeError: previewBuilder.bail is not a function
ERR! at /var/www/html/node_modules/@storybook/core-server/dist/cjs/build-static.js:219:26
ERR! at processTicksAndRejections (node:internal/process/task_queues:96:5)
ERR! at async Promise.all (index 0)
ERR! at async buildStaticStandalone (/var/www/html/node_modules/@storybook/core-server/dist/cjs/build-static.js:218:28)
ERR! at async buildStatic (/var/www/html/node_modules/@storybook/core-server/dist/cjs/build-static.js:254:5)
info => Loading presets
error Command failed with exit code 1.
具体的なエラーの目印は
ERR! Cannot parse records: Unexpected end of JSON input while parsing near ''
ですね。
対策1: キャッシュを削除
とりあえず、キャッシュ削除してみましょう。
npm cache clean –force
参考
https://www.danroo.com/web/post-666/
対策2: node_modules/.cache
ディレクトリを削除
それでも改善しなかったら、物理的に削除してみましょう。
参考
https://github.com/storybookjs/storybook/issues/4034#issuecomment-780694848
対策3: node_modules
ディレクトリを削除
もしかしてバージョン変更で変な状態になっているかもしれないので、node_modules
ディレクトリも削除しましょう。
対策4: インストールされている node, npm などのバージョンを確認
ローカルとサーバー、パートナーで使っているバージョンが古かったりするので、アップデートしてもらいましょう。
アップデートした後は、対策1~3を繰り返して試してみます。
以上