تؤدي محاولة تثبيت حزم npm في Docker إلى حدوث خطأ مثل:
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "-g" "install" "yuglify"
npm ERR! node v8.10.0
npm ERR! npm v3.5.2
npm ERR! path /usr/local/lib/node_modules/yuglify
npm ERR! EXDEV: cross-device link not permitted, rename '/usr/local/lib/node_modules/yuglify' -> '/usr/local/lib/node_modules/.yuglify.DELETE'
يشبه ملف Dockerfile الخاص بي:
FROM ubuntu:18.04
ENV PYTHONUNBUFFERED 1
USER root
RUN apt-get -yq update && apt-get install -yq npm
CMD npm -g install yuglify
الغريب ، إذا قمت بتشغيل الأمر npm install مرتين ، فستعمل المكالمة الثانية.
رؤية هذا السطح مرة أخرى مع الإصدار 7 على صور عامل الإرساء (الإصدار 7.0.3)
يبدو أنه انحدار لـ https://github.com/npm/npm/pull/15901
التكاثر:
docker run --rm mhart/alpine-node:15 npm install -g npm<strong i="6">@7</strong>
في npm 7 ، "تم نقل فئة المثبت بالكامل إلى @ npmcli / arborist.": https://github.com/npm/cli/blob/latest/CHANGELOG.md#v700 -beta0-2020-08-04
أعتقد أن المشكلة قد تكون هناك. يبدو أنه يحاول إعادة التسمية بدلاً من النقل الآن: https://github.com/npm/arborist/blob/main/lib/arborist/reify.js#L254
الذي يبدو وكأنه انحدار لتلك العلاقات العامة القديمة التي ربطتها: https://github.com/npm/npm/pull/15901
استبدل PR هذا جميع عمليات إعادة التسمية بحركات ("تثبيت: استخدم نقل علم EXDEV بدلاً من إعادة التسمية")
التعليق الأكثر فائدة
في npm 7 ، "تم نقل فئة المثبت بالكامل إلى @ npmcli / arborist.": https://github.com/npm/cli/blob/latest/CHANGELOG.md#v700 -beta0-2020-08-04
أعتقد أن المشكلة قد تكون هناك. يبدو أنه يحاول إعادة التسمية بدلاً من النقل الآن: https://github.com/npm/arborist/blob/main/lib/arborist/reify.js#L254
الذي يبدو وكأنه انحدار لتلك العلاقات العامة القديمة التي ربطتها: https://github.com/npm/npm/pull/15901
استبدل PR هذا جميع عمليات إعادة التسمية بحركات ("تثبيت: استخدم نقل علم EXDEV بدلاً من إعادة التسمية")