Cli: [BUG] حدث خطأ في نشر npm tarball `ENOTDIR: ليس دليلًا`

تم إنشاؤها على ٢٦ أكتوبر ٢٠٢٠  ·  3تعليقات  ·  مصدر: npm/cli

السلوك الحالي:

باستخدام الأمر مثل npm publish /path/to/tarball/from/npm-pack.tgz ، سيخطئ npm مع:

$ npm publish ./dr-js-core-0.4.0-dev.8.tgz
npm ERR! code ENOTDIR
npm ERR! syscall open
npm ERR! path ./dr-js-core-0.4.0-dev.8.tgz/package.json
npm ERR! errno -20
npm ERR! ENOTDIR: not a directory, open './dr-js-core-0.4.0-dev.8.tgz/package.json'

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/dr/.npm/_logs/2020-10-26T08_40_37_321Z-debug.log

وملف السجل:

[/home/dr/.npm/_logs/2020-10-26T08_40_37_321Z-debug.log]

0 verbose cli [
0 verbose cli   '/usr/bin/node',
0 verbose cli   '/usr/bin/npm',
0 verbose cli   'publish',
0 verbose cli   './dr-js-core-0.4.0-dev.8.tgz'
0 verbose cli ]
1 info using [email protected]
2 info using [email protected]
3 timing config:load:defaults Completed in 1ms
4 timing config:load:file:/usr/lib/node_modules/npm/npmrc Completed in 1ms
5 timing config:load:builtin Completed in 1ms
6 timing config:load:cli Completed in 2ms
7 timing config:load:env Completed in 0ms
8 timing config:load:file:/home/dr/Git/dr-js/.npmrc Completed in 0ms
9 timing config:load:project Completed in 1ms
10 timing config:load:file:/home/dr/.npmrc Completed in 2ms
11 timing config:load:user Completed in 2ms
12 timing config:load:file:/usr/etc/npmrc Completed in 0ms
13 timing config:load:global Completed in 0ms
14 timing config:load:cafile Completed in 0ms
15 timing config:load:validate Completed in 3ms
16 timing config:load:setUserAgent Completed in 0ms
17 timing config:load:setEnvs Completed in 1ms
18 timing config:load Completed in 12ms
19 verbose npm-session 27bc3b1b0c2cde0a
20 timing npm:load Completed in 23ms
21 verbose publish [ './dr-js-core-0.4.0-dev.8.tgz' ]
22 timing command:publish Completed in 20ms
23 verbose stack Error: ENOTDIR: not a directory, open './dr-js-core-0.4.0-dev.8.tgz/package.json'
24 verbose cwd /home/dr/Git/dr-js
25 verbose Linux 5.9.1-arch1-1
26 verbose argv "/usr/bin/node" "/usr/bin/npm" "publish" "./dr-js-core-0.4.0-dev.8.tgz"
27 verbose node v15.0.1
28 verbose npm  v7.0.5
29 error code ENOTDIR
30 error syscall open
31 error path ./dr-js-core-0.4.0-dev.8.tgz/package.json
32 error errno -20
33 error ENOTDIR: not a directory, open './dr-js-core-0.4.0-dev.8.tgz/package.json'
34 verbose exit -20

سلوك متوقع:

يجب أن تنشر كرة التار فقط ، يبدو أن npm حاليًا تعتقد أن هذا مجلد يتم تشغيل npm pack معه.

خطوات الاستنساخ:

يجب أن يكون قادرًا على الاختبار باستخدام:
شيل النصي
mkdir -p ./test-npm-publish
cd ./test-npm-publish
الحرف الأول npm - نعم
حزمة npm
نشر npm test-npm-publish-1.0.0.tgz


### Environment:
<!--
ex.
- OS: Ubuntu 20.04
- Node: 13.14.0
- npm: 6.4.12
-->

25 لينكس مطول 5.9.1-arch1-1
27 عقدة مطولة v15.0.1
28 npm مطول v7.0.5
""

Bug Release 7.x

التعليق الأكثر فائدة

كان هذا شيئًا أسقطنا دعمنا له عمدًا ، ولكن ليس لأي سبب مبدئي قوي ، فقط لأننا لم نكن متأكدين من أن أي شخص يستخدمه. يسعدني تقديم الدعم لذلك مرة أخرى ، لأن لدي بعض الإصلاحات الصغيرة الأخرى التي يجب القيام بها في libnpmpublish على أي حال.

ال 3 كومينتر

الجولة الحالية هي التبديل إلى الوراء والنشر باستخدام npm@6 :
شيل النصي
npm i -g npm @ 6

or use `npx` as a manual temp fix:
```shell script
npx npm<strong i="10">@6</strong> publish ./dr-js-core-0.4.0-dev.8.tgz --tag dev --access public

كلاهما تم اختباره ويجب أن يعمل.

كان هذا شيئًا أسقطنا دعمنا له عمدًا ، ولكن ليس لأي سبب مبدئي قوي ، فقط لأننا لم نكن متأكدين من أن أي شخص يستخدمه. يسعدني تقديم الدعم لذلك مرة أخرى ، لأن لدي بعض الإصلاحات الصغيرة الأخرى التي يجب القيام بها في libnpmpublish على أي حال.

تم إصلاح هذا مؤخرًا ، يرجى المحاولة مرة أخرى في الإصدار الأخير.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات