LoginSignup
1
2

Node.jsのバージョンをnode-sassのバージョンに合わせて下げた方法

Posted at

自分のための備忘録です。

エラー内容

いつものようにプロジェクトの開発環境を立ち上げようとすると、以下のエラーが出ました。

$ npm run start

# 略
ERROR in ./src/css/style.sass (./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/css/style.sass)
Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
Error: Cannot find module 'node-sass'

node-sassが見つからないとのことですが、package.jsonには記載があります。

package.json
"dependencies": {
  // 
  "node-sass": "^4.13.1",
    // 
}

インストールを試みると、以下のエラーが出ました。

$ npm install

> node-sass@4.13.1 install /Users/kawakami_air/project/project_name/frontend/node_modules/node-sass
> node scripts/install.js

Downloading binary from https://github.com/sass/node-sass/releases/download/v4.13.1/darwin-x64-83_binding.node
Cannot download "https://github.com/sass/node-sass/releases/download/v4.13.1/darwin-x64-83_binding.node": 

HTTP error 404 Not Found

Hint: If github.com is not accessible in your location
      try setting a proxy via HTTP_PROXY, e.g. 

      export HTTP_PROXY=http://example.com:1234

or configure npm proxy via

      npm config set proxy http://example.com:8080

> node-sass@4.13.1 postinstall /Users/kawakami_air/project/project_name/frontend/node_modules/node-sass
> node scripts/build.js

原因

node-sassのバージョンがNode.jsのバージョンと対応していないのが原因のようでした。

プロジェクトのNode.jsのバージョンを確認(v14.15.1)

$ nvm ls
    v14.15.1
->    system
default -> 14.15.1 (-> N/A)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v14.15.1) (default)
stable -> 14.15 (-> v14.15.1) (default)
lts/* -> lts/hydrogen (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.0 (-> N/A)
lts/hydrogen -> v18.16.0 (-> N/A)

node-sassのv4.13.1を確認すると、Node.jsのバージョンは13までしか対応していません。

node-sassのバージョン対応表.png

解決方法

Node.jsのバージョンを下げます。

# インストール可能な Node.js のバージョン一覧を確認
nvm ls-remote
# 略

# 13に下げる
$ nvm install 13.10.1

# バージョンを切替え(これをしないと、dockerを再起動した際に元のバージョンに戻ってしまいました)
$ nvm use v13.10.1
Now using node v13.10.1 (npm v6.13.7)

バージョンが切替わっているのを確認(v13.10.1)

$ nvm ls
->     v13.10.1
       v14.15.1
         system
default -> 14.15.1 (-> N/A)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v14.15.1) (default)
stable -> 14.15 (-> v14.15.1) (default)
lts/* -> lts/hydrogen (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.2 (-> N/A)
lts/hydrogen -> v18.17.1 (-> N/A)

再度試行したら、無事成功しました!

$ npm run start
# 略
ℹ 「wdm」: Compiled successfully.

なぜNode.jsのバージョンが変わってしまっていたのかは不明です・・

1
2
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
1
2