解決したいこと
unicornでデプロイを試みておりますが、nodeのバージョンが適用されておらずエラーになってしまいます。
解決方法を教えていただけると幸いです。
発生している問題・エラー
下記がエラーコードです。
ruby
1[ec2-user@ip-172-31-11-208 furima-36355]$ rails assets:precompile RAILS_ENV=production 2yarn install v1.22.17 3[1/5] Validating package.json... 4error furima_36355@0.1.0: The engine "node" is incompatible with this module. Expected version "14.17.2". Got "14.19.0" 5error Found incompatible module.
自分で試したこと
% brew upgrade node ==> Upgrading 1 outdated package: node 17.0.1 -> 17.5.0
このコードでアップデートをしましたが、14.19.0になりませんでした。
% nvm ls-remote zsh: command not found: nvm % nodebrew ls-remote zsh: command not found: nodebrew
ネットで調べたコードを試しましたが、コマンドが見つからないと返されてしまいました。
よろしくお願いいたします。
私はRubyの門外漢なので、Rubyまわりのことはスルーさせていただきますが、そもそも、どの環境のNode.jsをアップデートしたいのですか?
最初のコードブロックを読んでるとEC2にインストール? されているみたいですね。
でも、その後のbrewを試されてるってことは、macOSですか?
クラウドなのかローカルなのか、開発環境なのかそうでないのか、とても曖昧です。
そのあたりはっきりさせていただけると、話が進みやすいかと思います。
また、バージョンアップとのことなので、既に1度はインストールしていると思うのですが、パッケージでインストールしていますか?
nvmやnodebrewについては、1度自分で検索してみてください。どちらも、Node.jsのバージョンを切り替えやすくするツールで、パッケージからのインストールしたNode.jsとは別の使い方になりますので注意が必要です。
ごめんなさい、ひとつ訂正というか補足です。
brewはLinux環境でも使えますね。
ということは、EC2で使いたいのでしょうか?
(まあ、EC2でもLinuxとは限りませんが…)
「node.js アップデート」で検索して出てきたものを片っ端から試してるように見受けられますが、 OS や node のインストール方法によってアップデートの方法はまったく異なりますので、まずその辺をご確認ください。
@Eskee 様
@hoshi-takanori 様
御回答ありがとうございます。
返信が遅れまして申し訳ございません。
無事解決に至りました。
macOSでございまして、開発環境で起きたエラーでした。
EC2上ではnodeのバージョンがv14.19.0でして、ローカル環境ではv14.17.2のバージョンでした。
そのバージョン違いにより、デプロイする際にエラーが出てしまっておりました。
nodeのバージョンをv14.19.0に合わせたことで無事デプロイすることが出来ました。
% brew install nodebrew →インストールできていなかったです。
% nodebrew ls-remote →コマンドが使えるようになりました。
% vim ~/.zshrc
(zshr内にて)export PATH=$HOME/.nodebrew/current/bin:$PATH
% source ~/.zshrc →変更内容を保存
vscodeのnodeも直接入力で変更し、デプロイしたところ正常な挙動を確認できました。
ありがとうございました。

回答1件
あなたの回答
tips
プレビュー