How to migrate NPM package to an organization @scope

后端 未结 2 441
旧巷少年郎
旧巷少年郎 2021-02-05 02:32

NPM has recently introduced @scopes / organizations for the modules. Is there a good way to migrate existing modules to the organization? Are there any tools for automating it

2条回答
  •  礼貌的吻别
    2021-02-05 03:03

    You can change your package.json from:

    "name": "project-name"
    

    to:

    "name": "@scope/project-name"
    

    and publish the package:

    npm publish --access=public
    

    Update: The --access=public argument is needed to make the scoped package public - otherwise it will be private by default. Instead of the command-line argument you can set access to "public" in the publishConfig section of your package.json:

    "publishConfig": {
      "access": "public"
    }
    

    (Thanks to Danilo Bargen and Greg Pratt for pointing it out in the comments!)

    See: https://docs.npmjs.com/getting-started/scoped-packages

    The npm doesn't support redirects from old names to new names but you can deprecate the old package with:

    npm deprecate [@] 
    

    So that people who install the old version would be notified that they should install another package instead.

    See: https://docs.npmjs.com/cli/deprecate

提交回复
热议问题