0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

yarn での parse エラー解決方法

Last updated at Posted at 2022-10-12

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を繰り返して試してみます。

以上

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?