0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Mac nodeのバージョンを16.〇〇に下げる方法(2024/11/20更新)

Posted at

はじめに

homebrewを使用したnodeが11/2をもってnode 16.〇のバージョンの対応が終了したようなので、従来のやり方だとnodeのバージョンを16.〇〇に下げることができなくなってしまいました。
そこで試行錯誤してnodeのバージョンを16.〇〇に下げ、pushができたので共有します。
主にnodeのバージョンが22.〇〇になるMacユーザー向けの記事なので、windowsユーザーは見なくて大丈夫です。

環境

・Mac
・node22.〇〇
・herokuリリース(push)の際、 Error: error:0308010C:digital envelope routines::unsupported/ERROR in ./app/javascript/packs/application.jsで止まっている

解決策

現在紐づいているインストール済みのバージョンを解除。

brew unlink node

以下のコマンドでnode16をインストール

brew link --overwrite node@16

続いて以下のコマンドを入力

arch -arm64 brew install node@16

以下を実行して nvm を有効化します

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

nvm を使って Node.js のバージョンを指定してインストールします:

nvm install 16

Node.js 16 をデフォルトバージョンとして使用するため以下を記入

nvm alias default 16

nodeのバージョンを確認

node -v

ここで16.〇〇と表示されたら完了

出なければ引き続き下記をやる

NODE_OPTIONS 環境変数をリセットして、問題を解消

unset NODE_OPTIONS

nodeのバージョンを確認

node -v

nodeのバージョンが16になったら

package.jsonファイルを編集する。以下を付け加える。このとき、先程確認したnodeとnpmのバージョンを指定する。

package.json
"engines": {
    "node": "16.20.0",
    "npm": "8.19.4"
  }

これを下記のように追記しよう。enginesのすぐ上の } に" , "を付けないとエラーが出るよ!

package.json
{
  "name": "webrender",
  "private": true,
  "dependencies": {
    "@rails/actioncable": "^6.0.0",
    "@rails/activestorage": "^6.0.0",
    "@rails/ujs": "^6.0.0",
    "@rails/webpacker": "5.4.3",
    "turbolinks": "^5.2.0",
    "webpack": "4.46.0",
    "webpack-cli": "3.3.12"
  },
  "version": "0.1.0",
  "devDependencies": {
    "@babel/plugin-proposal-private-methods": "^7.18.6",
    "@babel/plugin-proposal-private-property-in-object": "^7.21.0",
    "babel-loader": "^8.2.2",
    "webpack-dev-server": "3"
  },
  "engines": {
    "node": "16.20.0",
    "npm": "8.19.4"
  }
}

変更したファイルをステージングする。

git add .

ステージングされたファイルをコミットして、、

git commit -m "package.json fix"

最後に、herokuへプッシュ!

git push heroku master
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?