The language "*" doesn't exist, falling back to plaintext.のエラー対処方法

※本ページはプロモーション広告を含みます。
CONTENTS
マメナカ的愛用品
Amazonお得情報

※商品情報・価格等は作成時点のものです。

結論から

Shikiなどのシンタックスハイライトで、コード内で指定すべき言語が適切でない場合に表示されるエラーのようです。

原因が分かればどうってことないんですが、初めShiki関連のエラーかどうかを断定しづらかったので、意外と悩みました。

今回僕が直面したのは、まさにコード内で言語指定を「Next.js」と「Astro」と記述してしまい、シンタックスハイライターが直接的に言語対応していなかったためエラーが起きたようです。

解決方法

```Next.js
// コード
```

```Astro
// コード
```

上記誤った記述を、下記に指定し直す。

```javascript
// コード
```

```javascript
// コード
```

これでエラーが表示されなくなりました…!

今回Astroはjavascriptに変更しましたが、表示したいコード内容によってはhtmlやcssとしても問題ないと思われます。

エラーが起きたきっかけ

このブログを編集している時、いつのまにか、npm run devしたときに以下のエラーが出るように😨

// 実害はなさそうでしたが、npm run devしたときに以下が表示される
The language "Next.js" doesn't exist, falling back to plaintext.
The language "Astro" doesn't exist, falling back to plaintext.

始めは、カテゴリー一覧を記述する用に用意した src/lib/constants.js に、Next.jsとAstroのカテゴリーを登録していないのに、どこかの記事でそれらのカテゴリーに登録記述をしたのか…?と思いました。

ただ、Next.jsカテゴリーとしての記事はまだ存在していないはずなので、やはりそれは違うだろと考えました。

もっというと、falling back to plaintext. はフォールバックでやむをえずプレーンテキストにしたってことですよね…?🤔

そこで、シンタックスハイライト…もっと言うとこのブログで使用しているShikiが怪しいと当たりを付けました。

何度かプロジェクト全体をNext.jsやAstroで検索し、それでも何故か取りこぼしていたのですが、ふとした時にある記事(.mdファイル)内のコードブロックで、確かに記述を誤って指定している箇所がありました。

実害こそとくに無いエラーでしたが、npm run devする度にエラー表示され、何となくモヤっとさせられるので、解決できて良かったです。

おまけ

この解決方法は、あくまでエラーが出ないようにするための、一時的な解決策かなぁと思います。

今後、Shikiが「Next.js」や「Astro」みたいな特定のフレームワーク名を直接サポートしてくれればベストでしょうかね。

あるいは、Shikiにカスタム言語を追加する方法が開発されることで、今回のように本来実現したかったコード言語指定が実現できれば、ありがたいなぁと思います。

以上、同じような状況に遭遇された方は、ご参考ください。 また、もしお役に立てていれば、気軽にシェアいただけるととても嬉しいです😄

この記事を書いた人

著者
マメナカさん
デザインをしたり、コードを書いたり、写真を撮ったり、散歩をしたり、歌を歌ったりして暮らしています。
詳しいプロフィールを見る
関連記事
© mamenaka All rights reserved.