Node.js関係で詰まった話 -Expected version “10”. Got “14.4.0"-
初めに
Node.jsの知識が浅く、バージョンの違いにより詰まったことを記載していきます。
そもそもNode.jsとは
サーバーサイドJavaScriptの実行環境です。
元々JavaScriptは、ブラウザ上で機能している言語(クライアントサイド)でしたが、
Node.jsにより、サーバーの構築や、アプリケーションプログラムも動かすことができるようになります。
エラー
今回、fisebaseにデプロイをする際、ターミナルにてyarn deployコマンドを打ち込んだ際にエラー発生。
Expected version “10”. Got “14.4.0"
「Node.jsのバージョン10を予期しているけど、 14.4.0で実行しようとしてますよ」とのこと。
試したこと
そうか、Node.jsのバージョンが14.4.0だったのか、それならバージョンを確認して変更しよう、ということで、
node -v
で確認。
あれ、バージョンが10.19.0である。
nodebrew(Node.js を管理するためのツール)でインストールしていたかな、
ということで、
nodebrew list
で確認。
あれ、
v9.8.0
v10.19.0
current: v10.19.0
バージョンが10.19.0であるはず。バージョン14なんてインストールしていないはず??
原因はなんだったか
Node.jsのバージョン確認ミス
今回、使用しようとしていたNode.jsは、nodebrewでインストールされたものではなく、
nodenvでインストールされたものでした。
試しに
nodenv version
で確認したところ、バージョン14になってました。。
解決法
nodenvをアンインストール
そもそもnodebrewでNode.jsを管理していたはずだったので、同じようなパッケージ管理ツールはいらない、ということで、
rm -rf $(nodenv root)
node自体を削除。
すると、自動的に、
firebase deployにて、nodebrewでインストールされたバージョン10のものを使用するようになりました。
(nodebrewとnodenvの違いについては割愛しますので、色々調べてみてください。)
まとめ
環境構築を何も考えずに行っていた結果、いつのタイミングかでいろんなNode.jsをインストールしてしまっていました。
プログラミング始めたての頃は、環境構築はただ言われた通りに手を動かすのみだったので、ここにきて環境構築に大事さがわかってきてます。
今は、もう少し一つ一つのコマンドに意識する余裕はできてきていると思うので、もっと考えながらやっていこうとお思いました。
Discussion