如何将monorepo中的某一个package发布到npm中

810阅读 0评论2023-06-04 jiuniu110
分类:JavaScript

要使用npm publish只发布 monorepo 下的 packages 中的一个项目,可以按照以下步骤进行操作:

  1. 在要发布的项目目录中,运行npm login登录到你的 npm 账号。

  2. 确保你的项目已经设置好了版本号,可以在 package.json 文件中设置。

  3. 运行npm publish命令,但是需要指定要发布的包的路径,例如:

    npm publish ./packages/my-package  --access=public

    这将会只发布 packages/my-package 目录下的内容。



以下是具体的步骤:
  1. 首先,进入你的 monorepo 的根目录,然后进入你要发布的项目所在的目录,例如:

    cd my-monorepo/packages/my-package 
  2. 确认你已经登录到了 npm 账号,如果没有,可以使用以下命令登录:

    npm login 

    然后按照提示输入你的用户名、密码和邮箱地址即可。

  3. 确认你的项目已经设置好了版本号,可以在 package.json 文件中设置,例如:

    {
      "name": "my-package",
      "version": "1.0.0",
      ...
    } 
  4. 然后,运行以下命令发布你的包:

    npm publish ./dist 

    这里假设你的项目已经构建好了,并且构建输出的文件在 ./dist 目录下。如果你的项目没有构建,你需要先运行构建命令。

  5. 发布成功后,你可以在 npm 上找到你刚刚发布的包。如果你之前没有发布过这个包,它会被创建出来。如果你之前已经发布过这个包,并且发布的版本号比较低,那么这个版本会被更新。


如出现

点击(此处)折叠或打开

  1. npm notice Publishing to https://registry.npmjs.org/
  2. npm code E402
  3. npm 402 Payment Required - PUT xxx - You must sign up for private packages



则说明在发布时 未加  --access=public  导致。


如果已设置了registry是taobao的镜像,因此在login时会登录到登录到淘宝的cnpm去

  1. https://registry.npmmirror.com/


,因此需要切换至原始的npm registry,命令如下:

  1. npm config set registry https://registry.npmjs.org/
再自行npm login即可正常

上一篇:nodejs下调试cpu100%的方法
下一篇:如何将github远程仓库的特定commit同步到本地私有仓库