J'ai un node:Alpine
Image Docker. Lorsque j'exécute l'image en tant qu'utilisateur root, je n'ai aucun problème, mais lorsque j'utilise un autre utilisateur et j'essaie de faire npm install
Je reçois beaucoup d'erreurs lors de l'extraction de packages:
npm WARN tar EPERM: operation not permitted, futime
Après 5000 messages WARN, je vois ceci sur le journal d'installation de npm:
npm timing action:extract Completed in 276816ms
npm timing action:finalize Completed in 172ms
Et pas plus, le processus d'installation de npm est complètement bloqué.
Quelqu'un connaît cette erreur et sait comment l'éviter?
Je l'avais aussi dans le sous-système Windows Linux, après avoir déplacé un projet de Windows vers Linux. Je n'ai pas réussi à le réparer avec
rm -rf node_modules
rm package-lock.json
npm cache clear --force
chown -R username:username *
npm install
Rien de tout cela n'a fonctionné.
futime
les erreurs sont dues au fait que l'utilitaire tar
ne dispose pas de droits suffisants pour effectuer les actions nécessaires pour développer les fichiers .tar utilisés par npm et les modules de noeud.
Dans le cas d'Alpine Linux, vous devrez peut-être décompresser en tant que root puis chown
les fichiers ou créer un dossier appartenant à l'utilisateur avec les bonnes autorisations.
Pour le sous-système Windows pour Linux, il ne semble pas fonctionner avec les dossiers sous /mnt/c
et refuse de modifier les autorisations. Les configurer sous Linux n'a aucun effet, et les configurer sous Windows ne semble pas non plus faire de différence - ajouter un contrôle total au principe `` Tout le monde '' ne résout pas cela.
solution (probable) pour Alpine:
Sudo mkdir project_folder
Sudo chown username project_folder
cd project_folder
...
Solution pour WSL:
Déplacez le dossier dans le dossier WSL, par exemple. mv project ~\
pour que les autorisations fonctionnent correctement.
Essayer avec cette commande pourrait aider:
npm install --user
Pas une solution élégante mais ça marche ... Dans votre répertoire d'application:
rm -rf node_modules
mkdir /home/your_user/node_modules
ln -s /home/your_user/node_modules node_modules
npm install