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 1 year has passed since last update.

Docker内でnode-modules消してしまって環境が壊れた時の対処法

Posted at

yarnでインストールしてきたnode_modulesを直接フォルダをぶち消して、そこまで作っていたDocker内の環境が壊れてしまいました。
localhostにアクセスできなかったり、動作がエラーになるなど起きるようになりました。

yarnは高速化のために必要なキャッシュをローカルに保存しています。
このせいでDocker内とローカルで差分ができてしまうため、新規にDockerファイルを立ち上げようとするとDocker内で壊れた状態のnode_modulesを再利用されてしまい環境が壊れたままの環境を構築することになってしまいます。

キャッシュするディレクトリパスは以下になります。
yarn cache dir

キャッシュされているnpmリストの確認は以下になります。
yarn cache list

キャッシュクリアは以下になります。
yarn cache clean

私の場合はキャッシュクリアのコマンドをDocker内で行うと
下記のように表示されてしまい失敗してしまいました。消す対象が大きいのか、スペックが低いのか。。。

rm: cannot remove '/usr/local/share/.cache/yarn/v6': Device or resource busy

そしてフォルダパス削除コマンドを打つだけを実行してみると

# yarn cache dir
/usr/local/share/.cache/yarn/v6 ※私の場合のディレクトリパス

# rm -rf /usr/local/share/.cache/yarn/v6
rm: cannot remove '/usr/local/share/.cache/yarn/v6': Device or resource busy

# yarn cache list
yarn cache v1.22.19
Name Version Registry Resolved
Done in 0.10s.

同じように失敗したメッセージが表示されるものの yarn cache list で確認するとキャッシュは消えていました。
これでキャッシュクリアをなんとかできました。

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?