在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 ] 

我在这里尝试了几个类似的答案,但没有一个是帮助。 有任何想法吗?

我不知道,安装包期间在你的代码中发生了什么。 请查看这里: 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. 

在npmregistry上发布

您需要创buildnpm用户。 你可以在这里 。 总之npm adduser npm login

npm config ls以确保凭据存储在您的客户端上。 然后尝试

npm publish

要在本地安装或testing打包您的模块

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

我在这里和这里查询参考。

有(写)在npmjs.org的npm服务器的实现中的错误,当包未能发布时,它不提供有用的信息。 如果您在组织范围内使用npmjs.org ,请确保您的用户权限是read-write 。 当然,这似乎是显而易见的,但是出现的错误将表明正在尝试更新的存储库不存在,或者至less对尝试发布的用户不可见。 实际上,用户可能能够在search时看到包,但被告知包在尝试发布时不存在。

也许你的npm服务器有类似的问题。

从日志,我注意到以下exception

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

或者您似乎已经注销,或者您需要在registry中注册npm adduserpsychodelicgod ”作为用户名并login才能在该范围内发布。 请看“ 使用作用域包 ”和“ 发布NPM包 ”