opened
XXHolic
username_0
查看文档，发现 `@npm/package-name` 这种形式的报名，是有作用域的包名形式，执行 `npm publish` 的时候默认是发布私有的包。因此，第一种方式是花钱买私有包的服务，另外一种方式就是指定参数，表示公开：
```shell
npm publish --access public
```
需要注意的是这种形式的包名跟 npm 账户有对应关系，不能随便填写。
```shell
npm init --scope=@my-org
```
这种形式表示是一个组织，`my-org` 对应是 npm 中的组织名。
```shell
npm init --scope=@my-username
```
这种形式表示是个人，`my-username` 对应是 npm 中的用户名。

### 对旧包的处理
在尝试的过程中，发布了一些包，想着只是测试的包，想要移除掉，但 npm 官方很不推荐这种做法，推荐用 `npm deprecate` 指令，告知安装者相关信息，例如“我不再维护这个库了，请不要使用”。
```
npm deprecate package-name "This is test package, do not use it!"
```
其中 `package-name` 是指发布的包的名称，可能跟库的名称不一样。

## 参考资料
- [npm help docs][url-npm-docs]
- [Creating and publishing scoped public packages][url-npm-scoped-publish]
- [npm-deprecate][url-npm-deprecate]

[url-repository-images]:https://xxholic.github.io/segment/images

[url-npm-issue]:https://github.com/npm/npm/issues/8561
[url-npm-scoped-publish]:https://docs.npmjs.com/creating-and-publishing-scoped-public-packages
[url-npm-docs]:https://docs.npmjs.com/
[url-npm-deprecate]:https://docs.npmjs.com/cli/deprecate
npm 发布包遇到的问题
issue
created
youngjuning
username_1
mark
comment