npm无法在以前发布的版本上发布

npm无法在以前发布的版本上发布,npm,npm-publish,Npm,Npm Publish,npm正在给我带来悲伤,我不知道为什么。正在尝试发布我的软件包的新版本 npm view {{package}} versions [ '0.3.0', '0.3.1', '0.4.0', '0.4.2', '0.5.0', '0.6.0', '0.6.1', '0.7.0', '0.7.1', '0.8.0', '0.8.1', '0.8.2', '0.8.3', '0.8.4', '0.8.5' ] 当我运行npm publish时

npm
正在给我带来悲伤,我不知道为什么。正在尝试发布我的软件包的新版本

npm view {{package}} versions

[ '0.3.0',
  '0.3.1',
  '0.4.0',
  '0.4.2',
  '0.5.0',
  '0.6.0',
  '0.6.1',
  '0.7.0',
  '0.7.1',
  '0.8.0',
  '0.8.1',
  '0.8.2',
  '0.8.3',
  '0.8.4',
  '0.8.5' ]
当我运行
npm publish
时,我得到以下结果:

400 Bad Request - PUT https://registry.npmjs.org/{{package}} - Cannot publish over previously published version "1.0.0".
这是我当前的package.json:

...
"version": "1.0.0",
...
有什么好处

编辑:


此外,即使当我尝试修补版本并发布1.0.1或1.0.2时,我也会收到相同的消息…好悲伤…

所以当我几个月前第一次创建软件包时,我最初发布了1.0,决定不喜欢它,并从注册表中取消发布。我忘了我已经这么做了,由于我支持的NPMs策略,它们不允许您重新发布以前发布的包的版本。必须将版本升级到1.0.3才能正常工作。可能会帮助别人

编辑:该命令(带有--json标志)可以让您了解发生了什么。它将输出类似这样的内容,接近顶部

“时间”:{
“已创建”:“2020-06-09T19:57:19.446Z”,
“1.0.0”:“2020-06-09T19:57:19.720Z”,
“修改”:“2020-08-23T21:31:17.255Z”,
“1.0.1”:“2020-06-09T23:32:53.322Z”,
“2.0.0”:“2020-06-10T12:49:09.722Z”,
“2.0.1”:“2020-06-10T13:17:40.021Z”,
“2.0.2”:“2020-06-10T19:37:09.994Z”,
“2.0.3”:“2020-06-11T00:24:46.982Z”,
“2.0.4”:“2020-08-20T21:18:46.305Z”,
“2.0.5”:“2020-08-20T21:20:42.971Z”,
“2.0.6”:“2020-08-20T21:35:22.181Z”,
“2.0.7”:“2020-08-20T22:30:24.183Z”,
“2.0.8”:“2020-08-20T22:42:05.255Z”,
“2.0.9”:“2020-08-23T21:31:15.021Z”
},

不能以以前未发布的版本发布包。您可以在此处阅读更多有关npm政策的信息。

最佳答案+1如果您仔细想想,政策是非常有意义的,否则任何人都可以重新发布包含恶意软件的软件包版本(想象一下,一个大框架依赖某个固定版本的第三方软件包,如果第三方想利用它,他可以在该版本上重新发布)