簡體   English   中英

在 npm 中發布包的新版本時出錯

[英]Error publishing a new version of a package in npm

我正在嘗試使用 npm 重新發布包。 我確實更新了package.json的包版本,但出現以下錯誤:

npm ERR! publish Failed PUT 404
npm ERR! Windows_NT 6.3.9600
npm ERR! argv "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs
\\node_modules\\npm\\bin\\npm-cli.js" "publish"
npm ERR! node v0.12.3
npm ERR! npm  v2.9.1
npm ERR! code E404

npm ERR! 404 missing : @psychodelicgod/npm
npm ERR! 404
npm ERR! 404 '@psychodelicgod/npm' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)

npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\Michał Szydłowski\npm\npm-debug.log

和我的debug.log

0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'publish' ]
2 info using npm@2.9.1
3 info using node@v0.12.3
4 verbose node symlink C:\Program Files\nodejs\\node.exe
5 verbose publish [ '.' ]
6 silly cache add args [ '.', null ]
7 verbose cache add spec .
8 silly cache add parsed spec { raw: '.',
8 silly cache add   scope: null,
8 silly cache add   name: null,
8 silly cache add   rawSpec: '.',
8 silly cache add   spec: 'C:\\Users\\Michał Szydłowski\\npm',
8 silly cache add   type: 'directory' }
9 verbose addLocalDirectory C:\Users\Michał Szydłowski\AppData\Roaming\npm-cache\@psychodelicgod\npm\1.0.2\package.tgz not in flight; packing
10 verbose tar pack [ 'C:\\Users\\Michał Szydłowski\\AppData\\Roaming\\npm-cache\\@psychodelicgod\\npm\\1.0.2\\package.tgz',
10 verbose tar pack   'C:\\Users\\Michał Szydłowski\\npm' ]
11 verbose tarball C:\Users\Michał Szydłowski\AppData\Roaming\npm-cache\@psychodelicgod\npm\1.0.2\package.tgz
12 verbose folder C:\Users\Michał Szydłowski\npm
13 info prepublish @psychodelicgod/npm@1.0.2
14 verbose addLocalTarball adding from inside cache C:\Users\Michał Szydłowski\AppData\Roaming\npm-cache\@psychodelicgod\npm\1.0.2\package.tgz
15 silly cache afterAdd @psychodelicgod/npm@1.0.2
16 verbose afterAdd C:\Users\Michał Szydłowski\AppData\Roaming\npm-cache\@psychodelicgod\npm\1.0.2\package\package.json not in flight; writing
17 verbose afterAdd C:\Users\Michał Szydłowski\AppData\Roaming\npm-cache\@psychodelicgod\npm\1.0.2\package\package.json written
18 silly publish { name: '@psychodelicgod/npm',
18 silly publish   version: '1.0.2',
18 silly publish   description: 'd',
18 silly publish   main: 'index.js',
18 silly publish   scripts: { test: 'node test.js' },
18 silly publish   author: '',
18 silly publish   license: 'ISC',
18 silly publish   dependencies: { '@linclark/pkg': '^1.0.2' },
18 silly publish   repository: { type: 'git', url: 'C:\\Users\\Michał Szydłowski\\npm' },
18 silly publish   readme: 'Sample description.',
18 silly publish   readmeFilename: 'README.md',
18 silly publish   _id: '@psychodelicgod/npm@1.0.2',
18 silly publish   _shasum: 'b66a8a42e64f0a2b8166ce511629e107d47ab027',
18 silly publish   _from: '.' }
19 verbose getPublishConfig undefined
20 silly mapToRegistry name @psychodelicgod/npm
21 silly mapToRegistry scope (from package name) @psychodelicgod
22 verbose mapToRegistry no registry URL found in name for scope @psychodelicgod
23 silly mapToRegistry using default registry
24 silly mapToRegistry registry http://localhost:15443/
25 silly mapToRegistry uri http://localhost:15443/@psychodelicgod%2fnpm
26 verbose publish registryBase http://localhost:15443/
27 silly publish uploading C:\Users\Michał Szydłowski\AppData\Roaming\npm-cache\@psychodelicgod\npm\1.0.2\package.tgz
28 verbose request uri http://localhost:15443/@psychodelicgod%2fnpm
29 verbose request sending authorization for write operation
30 info attempt registry request try #1 at 13:11:50
31 verbose request id e5c460330af2176f
32 http request PUT http://localhost:15443/@psychodelicgod%2fnpm
33 http 404 http://localhost:15443/@psychodelicgod%2fnpm
34 verbose headers { 'content-type': 'application/json',
34 verbose headers   date: 'Fri, 03 Jul 2015 11:11:50 GMT',
34 verbose headers   connection: 'keep-alive',
34 verbose headers   'transfer-encoding': 'chunked' }
35 verbose request invalidating C:\Users\Michał Szydłowski\AppData\Roaming\npm-cache\localhost_15443\_40psychodelicgod_252fnpm on PUT
36 error publish Failed PUT 404
37 verbose stack Error: missing : @psychodelicgod/npm
37 verbose stack     at CachingRegistryClient.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-registry-client\lib\request.js:247:14)
37 verbose stack     at Request._callback (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-registry-client\lib\request.js:170:14)
37 verbose stack     at Request.self.callback (C:\Program Files\nodejs\node_modules\npm\node_modules\request\request.js:368:22)
37 verbose stack     at Request.emit (events.js:110:17)
37 verbose stack     at Request.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\request\request.js:1219:14)
37 verbose stack     at Request.emit (events.js:129:20)
37 verbose stack     at IncomingMessage.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\request\request.js:1167:12)
37 verbose stack     at IncomingMessage.emit (events.js:129:20)
37 verbose stack     at _stream_readable.js:908:16
37 verbose stack     at process._tickCallback (node.js:355:11)
38 verbose statusCode 404
39 verbose pkgid @psychodelicgod/npm
40 verbose cwd C:\Users\Michał Szydłowski\npm
41 error Windows_NT 6.3.9600
42 error argv "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "publish"
43 error node v0.12.3
44 error npm  v2.9.1
45 error code E404
46 error 404 missing : @psychodelicgod/npm
46 error 404
46 error 404 '@psychodelicgod/npm' is not in the npm registry.
46 error 404 You should bug the author to publish it (or use the name yourself!)
46 error 404
46 error 404 Note that you can also install from a
46 error 404 tarball, folder, http url, or git url.
47 verbose exit [ 1, true ]

我在這里嘗試了幾個類似的答案,但這些都沒有幫助。 有任何想法嗎?

#在 npm 注冊中心發布

您需要創建 npm 用戶。 你可以關注 這里 簡而言之

npm adduser
npm login

執行npm config ls以確保憑據存儲在您的客戶端上。 然后試試

npm publish

在本地安裝或測試打包你的模塊

你可以試試

tar -tf $(npm pack)
npm install <path/to/your/package.tgz>

在這里這里檢查了參考。

我也有同樣的問題。 對我來說,電子郵件未經過驗證。 您可以登錄 npmjs.org 並驗證電子郵件。

我不知道,在安裝包期間您的代碼中發生了什么。 請在此處查看: https : //docs.npmjs.com/getting-started/creating-node-modules以了解如何安裝包模塊。 這些是安裝包的簡單方法:

Publish your package to npm
Make a new directory outside of your project and cd into it
Run npm install <package>
Create a test.js file which requires the package and calls the method
Run node test.js. The message should be output.

從日志中,我注意到以下異常

36 error publish Failed PUT 404
37 verbose stack Error: missing : @psychodelicgod/npm

要么您似乎已注銷,要么您需要在注冊表中將npm adduserpsychodelicgod注冊用戶名,並登錄以在該范圍內發布。 請查看“ 使用范圍包”和“ 發布 NPM 包

發布時出現404錯誤主要是因為訪問錯誤。 這可能是訪問令牌錯誤或讀寫錯誤。 請在組織包權限頁面上檢查您的訪問設置。

在此處輸入圖片說明

  1. 如果您是第一次從本地機器發布,請使用npm login在您的帳戶上創建訪問令牌。 登錄后,令牌將自動添加到您的全局npmrc文件中,您可以再次嘗試發布。
  2. 如果您嘗試更新包並看到 404 錯誤,請為包的組織設置啟用讀寫權限。
  3. 如果您使用的是 CI/CD 管道工具,則必須指定scope並使用具有讀寫權限的訪問令牌。

npmjs.org的 npm 服務器實現中(在撰寫本文時)存在一個錯誤,當包發布失敗時,該錯誤無法提供有用的信息。 如果您在組織范圍內使用npmjs.org ,請確保您的用戶權限為read-write 當然,這似乎很明顯,但所顯示的錯誤表明正在嘗試更新的存儲庫不存在,或者至少對嘗試發布的用戶不可見。 實際上,用戶在搜索時可能能夠看到該包,但在嘗試發布時卻被告知該包不存在。

也許你的 npm 服務器也有類似的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM