我的NPM项目将不会发布

我对Web开发很新,但是我正在尝试为一个项目开发一个非常小的RESTful Web应用程序; 我想我会尝试做正确的方式,所以我开始遵循一些教程等。 长话短说,当我试图发布时遇到了一个问题,我正在学习一个叫做how-to-npm的教程。 我不太明白这个错误信息,因为逻辑看起来有点落伍。 (它说它不能在registry中find这个名字,我认为这个名字是按照预期工作的,因为我仍然在试图发布它,但是我认为可能发生的是它不能发布我的项目,然后在代码中检查它是否已经发布,并且发现它确实没有被发布)

请在下面findnpm-debug.log数据 – 任何帮助表示赞赏。 (注意:test.js只是一个空文件)

0 info it worked if it ends with ok 1 verbose cli [ '/home/omar/.nvm/versions/node/v5.7.0/bin/node', 1 verbose cli '/home/omar/.nvm/versions/node/v5.7.0/bin/npm', 1 verbose cli 'publish' ] 2 info using npm@3.7.3 3 info using node@v5.7.0 4 verbose publish [ '.' ] 5 silly cache add args [ '.', null ] 6 verbose cache add spec . 7 silly cache add parsed spec Result { 7 silly cache add raw: '.', 7 silly cache add scope: null, 7 silly cache add name: null, 7 silly cache add rawSpec: '.', 7 silly cache add spec: '/home/omar/Desktop/Projects/how-to-npm', 7 silly cache add type: 'directory' } 8 verbose addLocalDirectory /home/omar/.npm/@linkclark/pkg/1.0.0/package.tgz not in flight; packing 9 verbose correctMkdir /home/omar/.npm correctMkdir not in flight; initializing 10 info lifecycle @linkclark/pkg@1.0.0~prepublish: @linkclark/pkg@1.0.0 11 silly lifecycle @linkclark/pkg@1.0.0~prepublish: no script for prepublish, continuing 12 verbose tar pack [ '/home/omar/.npm/@linkclark/pkg/1.0.0/package.tgz', 12 verbose tar pack '/home/omar/Desktop/Projects/how-to-npm' ] 13 verbose tarball /home/omar/.npm/@linkclark/pkg/1.0.0/package.tgz 14 verbose folder /home/omar/Desktop/Projects/how-to-npm 15 verbose addLocalTarball adding from inside cache /home/omar/.npm/@linkclark/pkg/1.0.0/package.tgz 16 verbose correctMkdir /home/omar/.npm correctMkdir not in flight; initializing 17 silly cache afterAdd @linkclark/pkg@1.0.0 18 verbose afterAdd /home/omar/.npm/@linkclark/pkg/1.0.0/package/package.json not in flight; writing 19 verbose correctMkdir /home/omar/.npm correctMkdir not in flight; initializing 20 verbose afterAdd /home/omar/.npm/@linkclark/pkg/1.0.0/package/package.json written 21 silly publish { name: '@linkclark/pkg', 21 silly publish version: '1.0.0', 21 silly publish description: 'nu\'un', 21 silly publish main: 'index.js', 21 silly publish scripts: { test: 'node test.js' }, 21 silly publish repository: 21 silly publish { type: 'git', 21 silly publish url: 'git+https://github.com/OmarAYousry/how-to-npm.git' }, 21 silly publish keywords: [ 'how' ], 21 silly publish author: { name: 'Omar' }, 21 silly publish license: 'ISC', 21 silly publish dependencies: { '@linclark/pkg': '^1.0.2' }, 21 silly publish readme: 'This is the repo for my how-to-npm tutorial\n\nnothing else\n', 21 silly publish readmeFilename: 'README.md', 21 silly publish gitHead: '8ceb774a26300db413e522984b776246d8747372', 21 silly publish bugs: { url: 'https://github.com/OmarAYousry/how-to-npm/issues' }, 21 silly publish homepage: 'https://github.com/OmarAYousry/how-to-npm#readme', 21 silly publish _id: '@linkclark/pkg@1.0.0', 21 silly publish _shasum: '47a5cba321a9be5e4e0a904623be0148619980e8', 21 silly publish _from: '.' } 22 verbose getPublishConfig undefined 23 silly mapToRegistry name @linkclark/pkg 24 silly mapToRegistry scope (from package name) @linkclark 25 verbose mapToRegistry no registry URL found in name for scope @linkclark 26 silly mapToRegistry using default registry 27 silly mapToRegistry registry http://localhost:15443/ 28 silly mapToRegistry uri http://localhost:15443/@linkclark%2fpkg 29 verbose publish registryBase http://localhost:15443/ 30 silly publish uploading /home/omar/.npm/@linkclark/pkg/1.0.0/package.tgz 31 verbose request uri http://localhost:15443/@linkclark%2fpkg 32 verbose request sending authorization for write operation 33 info attempt registry request try #1 at 9:44:12 AM 34 verbose request id a61f260c4fe4949e 35 http request PUT http://localhost:15443/@linkclark%2fpkg 36 http 404 http://localhost:15443/@linkclark%2fpkg 37 verbose headers { 'content-type': 'application/json', 37 verbose headers date: 'Sat, 27 Feb 2016 07:44:12 GMT', 37 verbose headers connection: 'keep-alive', 37 verbose headers 'content-length': '19' } 38 verbose request invalidating /home/omar/.npm/localhost_15443/_40linkclark_252fpkg on PUT 39 error publish Failed PUT 404 40 verbose stack Error: missing : @linkclark/pkg 40 verbose stack at makeError (/home/omar/.nvm/versions/node/v5.7.0/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:264:12) 40 verbose stack at CachingRegistryClient.<anonymous> (/home/omar/.nvm/versions/node/v5.7.0/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:252:14) 40 verbose stack at Request._callback (/home/omar/.nvm/versions/node/v5.7.0/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:172:14) 40 verbose stack at Request.self.callback (/home/omar/.nvm/versions/node/v5.7.0/lib/node_modules/npm/node_modules/request/request.js:199:22) 40 verbose stack at emitTwo (events.js:100:13) 40 verbose stack at Request.emit (events.js:185:7) 40 verbose stack at Request.<anonymous> (/home/omar/.nvm/versions/node/v5.7.0/lib/node_modules/npm/node_modules/request/request.js:1036:10) 40 verbose stack at emitOne (events.js:95:20) 40 verbose stack at Request.emit (events.js:182:7) 40 verbose stack at IncomingMessage.<anonymous> (/home/omar/.nvm/versions/node/v5.7.0/lib/node_modules/npm/node_modules/request/request.js:963:12) 41 verbose statusCode 404 42 verbose pkgid @linkclark/pkg 43 verbose cwd /home/omar/Desktop/Projects/how-to-npm 44 error Linux 3.19.0-51-generic 45 error argv "/home/omar/.nvm/versions/node/v5.7.0/bin/node" "/home/omar/.nvm/versions/node/v5.7.0/bin/npm" "publish" 46 error node v5.7.0 47 error npm v3.7.3 48 error code E404 49 error 404 missing : @linkclark/pkg 50 error 404 51 error 404 '@linkclark/pkg' is not in the npm registry. 52 error 404 You should bug the author to publish it (or use the name yourself!) 53 error 404 Note that you can also install from a 54 error 404 tarball, folder, http url, or git url. 55 verbose exit [ 1, true ] 

为了遵循教程和使用空文件,我build议不要发布到NPM。 原因是你会用不工作的软件来污染它(仅仅是一个空文件),另外引用NPM文档:

once a package is published with a given name and version, that specific name and version combination can never be used again, even if it is removed with npm-unpublish