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に未対応であるため
対策
- 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。