建設予定地

当面はやったことの備忘録

Assertion `thread_id_key != 0x7777' failed.(node-fibersのエラー)について

前提

  • Node.jsのパッケージ管理をn packageで行いたい

  • 事前に n packageがインストール済みであること

n packageの環境構築については下記の記事が詳細にまとめてくださっています。
Ubuntuに最新のNode.jsを難なくインストールする - Qiita

環境

Ubuntu20.04LTS(WSL2)
yarn + Vue CLI

問題

yarn serve

を行った際、下記のようなエラーが出る

node: ../src/coroutine.cc:134: void* find_thread_id_key(void*): Assertion `thread_id_key != 0x7777' failed.
Aborted
error Command failed with exit code 134.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

原因

fiberというパッケージがnode16に未対応であるため

stackoverflow.com

対策

  • nodeのバージョンを16以下にダウングレードする

行った手順

ダウングレードを前述のn packageを用いて行うものとします。
まずはn [バージョン名] でバージョンの切り替えを行います。

$ sudo n 14.17.6
   installed : v14.17.6 (with npm 6.14.15)
$ node -v

で更新が反映されているかを確認します。(v14.17.6となっていればOK)

自分の場合はここでバージョンが反映されていなかったため

$ which node

してみると下記のようになっており、nvmのnodeを読んでいることがわかりました。

/home/denham/.nvm/versions/node/v16.6.1/bin/node

ここではnodeのバージョン管理をn packageで行えるようにしたいので、

$ sudo vim  ~/.bashrc

して下記の記述を削除あるいはコメントアウト

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

nvmフォルダを削除し、

rm -rf ~/.nvm

.bashrcの変更を反映

$ source ~/.bashrc
node -v
v14.17.6  

となっており、nodeがダウングレードされていることが確認できました。
ここで再度yarn serveを行えばOK。

参考

stackoverflow.com qiita.com