Lima + Dockerでマウントしたディレクトリにnpm installできなかった
やろうとしていたこと
Graviton2インスタンスのLambdaで利用するライブラリをLambda Layerに配置すべく、Lambda (Amazon Linux)のイメージを利用してLayer用のzipを作成。
実行環境はタイトルの通りLima + Docker。
コンテナ上でやろうとしたこと
-
workspace
をマウント - マウントしたディレクトリに
nodejs
ディレクトリを作成して、そこでnpm install
-
nodejs
ディレクトリをzip
├── Dockerfile
├── docker-compose.yml
└── workspace
├── lambda-layer.zip
└── nodejs
└── node_modules
起きたこと
npm install
で権限エラー。 (l)chown
が叩けない旨のメッセージが表示される。
実際、マウントしたディレクトリ以下では chown
ができない。
一方、ファイル作成等はでき、書き込み権限やオーナーは問題ない。
原因
chown/chmod on mounted directory: Permission denied #231
回避策
別の場所でインストールして、 zipだけをマウントしたディレクトリに吐き出す
前述の通り権限・オーナーには問題がないので、必要なzipだけを吐き出す。
グローバルインストール (-g
) して、〃
グローバルインストールで権限等の問題が起きる場合は公式を参照。
Author And Source
この問題について(Lima + Dockerでマウントしたディレクトリにnpm installできなかった), 我々は、より多くの情報をここで見つけました https://qiita.com/ogawatti/items/6cc9700d6c72a600a74b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .