NPM 尝试发布两次

NPM attempts to publish twice

我正在维护我的第一个 npm 包,所以这可能是我的一个错误。一旦构建了我的包并将其提交到 git 下一步是:

$ npm version patch
$ npm publish

输出(删节)如下:


npm notice 
npm notice   @mememe/p3-model@0.7.2
npm notice === Tarball Contents === 
npm notice 188B  README.md                
npm notice 4.5kB dist/doc.d.ts

  (etc) 
            
npm notice 792B  package.json             
npm notice === Tarball Details === 
npm notice name:          @mememe/p3-model                       
npm notice version:       0.7.2                                   
npm notice filename:      @mememe/p3-model-0.7.2.tgz             
npm notice package size:  6.2 kB                                  
npm notice unpacked size: 23.2 kB                                 
npm notice shasum:        cb5588ee626efc21532845c608fdb05a5fcd4db3
npm notice integrity:     sha512-s7IK2HSXCNTUk[...]ZHxDgAOIr4Cnw==
npm notice total files:   11                                      
npm notice 
npm notice Publishing to https://registry.npmjs.org/
⸨⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⸩ ⠇ : notice Publishing to https://registry.npmjs.org/

到目前为止一切顺利。但不知何故,它试图再次发布 并得到一个错误,我正在旧版本之上发布。输出继续:

> @mememe/p3-model@0.7.2 publish
> npm publish

npm notice ⠂⠂⠂⠂⠂⠂⠂⠂⸩ ⠇ : notice Publishing to https://registry.npmjs.org/
npm notice   @mememe/p3-model@0.7.2
npm notice === Tarball Contents === 
npm notice 188B  README.md                
npm notice 4.5kB dist/doc.d.ts            
npm notice 6.5kB dist/doc.js     

  (etc)
             
npm notice === Tarball Details === 
npm notice name:          @mememe/p3-model                       
npm notice version:       0.7.2                                   
npm notice filename:      @mememe/p3-model-0.7.2.tgz             
npm notice package size:  6.2 kB                                  
npm notice unpacked size: 23.2 kB                                 
npm notice shasum:        cb5588ee626efc21532845c608fdb05a5fcd4db3
npm notice integrity:     sha512-s7IK2HSXCNTUk[...]ZHxDgAOIr4Cnw==
npm notice total files:   11                                      
npm notice 
npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/@mememe%2fp3-model - You cannot publish over the previously published versions: 0.7.2.
npm ERR! 403 In most cases, you or one of your dependencies are requesting
npm ERR! 403 a package version that is forbidden by your security policy, or
npm ERR! 403 on a server you do not have access to.
⸨⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⸩ ⠇ : notice Publishing to https://registry.npmjs.org/
npm ERR! A complete log of this run can be found in:

我只输入了一次npm publish命令。此命令是否有某些操作(可能是 package.json 中的一个选项)会导致此问题?

发布了正确的包,我可以在其他项目中使用它。但是这个错误有点令人不安。有什么建议吗?

我遇到了同样的问题,刚刚解决了。

我的问题是,我在 package.json 中定义了一个 scriptpublish,所以它又被解雇了 after/before。

其背后的想法是获得关于我用于构建、测试、生成文档和发布的命令的提示(如命令列表)。但不幸的是,该命令一直被触发两次。

在我的例子中,package.json 看起来像这样:

{
  "name": "my-package",
  "version": "1.0.0",
  "scripts": {
    "build": "echo here could be a build job",
    "test": "jasmine",
    "publish": "npm publish"
}

检查您的 package.jsonscripts 处找到一个名为 publish 的条目。如果您有一个带有密钥 publish 的条目,请完全删除此行或为您的脚本使用不同的密钥。