Cli: [BUG] npm Publish Tarball hat den Fehler `ENOTDIR: not a directory` erhalten

Erstellt am 26. Okt. 2020  ·  3Kommentare  ·  Quelle: npm/cli

Aktuelles Verhalten:

Mit Befehlen wie npm publish /path/to/tarball/from/npm-pack.tgz , wird npm einen Fehler machen mit:

$ 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

Und die Log-Datei:

[/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

Erwartetes Verhalten:

Sollte nur den Tarball veröffentlichen, scheint npm derzeit zu denken, dass dies ein Ordner ist, mit dem npm pack werden können.

Schritte zum Reproduzieren:

Sollte in der Lage sein zu testen mit:
```Shell-Skript
mkdir -p ./test-npm-publish
cd ./test-npm-publish
npm init --ja
npm-Paket
npm veröffentlichen test-npm-publish-1.0.0.tgz


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

25 ausführliches Linux 5.9.1-arch1-1
27 ausführlicher Knoten v15.0.1
28 ausführliche npm v7.0.5
```

Bug Release 7.x

Hilfreichster Kommentar

Dies war etwas, für das wir absichtlich die Unterstützung eingestellt haben, aber nicht aus einem zwingenden Grund, nur weil wir nicht sicher waren, ob jemand es benutzte. Gerne bringe ich die Unterstützung dafür zurück, da ich sowieso noch einige andere kleine Korrekturen in libnpmpublish vornehmen muss.

Alle 3 Kommentare

Der aktuelle Rundgang ist Zurückschalten und Veröffentlichen mit npm@6 :
```Shell-Skript
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

Beide sind getestet und sollten funktionieren.

Dies war etwas, für das wir absichtlich die Unterstützung eingestellt haben, aber nicht aus einem zwingenden Grund, nur weil wir nicht sicher waren, ob jemand es benutzte. Gerne bringe ich die Unterstützung dafür zurück, da ich sowieso noch einige andere kleine Korrekturen in libnpmpublish vornehmen muss.

Dies wurde vor kurzem behoben. Bitte versuchen Sie es in der neuesten Version erneut.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen