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

More than 3 years have passed since last update.

【Docker】エラー対処法:Error: Missing binding /usr/src/app/node_modules/node-sass/

Posted at

Dockerでイメージをbuild後にコンテナを起動した時に、sass-loaderを現在のOS環境にバインドできないとのエラーが発生した。

##エラー内容

image.png

bootstrap.js:4427 Uncaught Error: Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
Error: Missing binding /usr/src/app/node_modules/node-sass/vendor/linux_musl-x64-83/binding.node
Node Sass could not find a binding for your current environment: Linux/musl 64-bit with Node.js 14.x

Found bindings for the following environments:

  • OS X 64-bit with Node.js 12.x

This usually happens because your environment has changed since running npm install.
Run npm rebuild node-sass to download the binding for your current environment.

Dockerの中で使っているのでlinux用のsass-loaderをインストールしなければいけないが、OS-X用のsass-loaderしかない状況。

###以下対応をしたがエラーは直らず
npm installnpm rebuild node-sassを実行済み。

・.dockerignoreにnode_modules/*を記載済み。

・volumeでapp/node_modulesをコンテナ内のボリュームのみ割り当て、ホスト側とは同期しない。


##発生原因 本来、コンテナの中でbootstrap関連のパッケージをインストールしなければいけないところ、ローカルで実施したためOS X用のsass-loaderしかインストールされなかった。

##対処法
コンテナに入ってbootstrap関連のパッケージをインストールする。

#コンテナ名を確認
$ docker ps
CONTAINER ID   IMAGE                       COMMAND                  CREATED          STATUS         PORTS                                            NAMES
88e9777dd7de   ruby2.7.2                   "bin/rails s -p 3000…"   4 minutes ago    Up 4 minutes   0.0.0.0:3001->3000/tcp                           rails-app


#コンテナに入る(laravelの場合はbash)
$ docker exec -it rails-app sh
/app #


#コンテナの中でbootstrap関連パッケージをインストール
/app # yarn add jquery bootstrap popper.js

コンテナを再起動したところエラーが直った。

Dockerfileでyarnをインストールしているのでyarnを使用したが、npmのときはyarnをnpmに変更する。


##まとめ docker上のプロジェクトでnpmのパッケージをインストールする場合はコンテナの中に入ってインストールする。
1
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
1
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?