Nexus 组件发布失败、npm 登录失败 解决过程

目录

参考发布文章进行打包

提示发布成功,但在 Nexus 里没发现组件

测试 yarn 发布

测试 npm 发布(解决登录失败)

Nexus 设置 Sonatype Nexus Repository Manager 相关权限


参考发布文章进行打包

整体发布:根目录运行 yarn run build:lib;切到目录 packages/xxx-design,运行 yarn publish 发布

单个组件发布:根目录运行 yarn build -- --组件名;切到 packages/components/ 组件名,运行 yarn publish 发布

                                                                                  —— 摘自 内部组件开发注意事项 文章

注意事项:

  • yarn run build:lib 命令,建议在 git bash 命令行中执行,否则会报错 bash 不是本地命令
  • yarn build -- --组件名 命令,如果执行失败,可以考虑去掉 --组件名 的 --

提示发布成功,但在 Nexus 里没发现组件

测试 yarn 发布

使用 yarn 提示发布成功了,实际没发布成功,因为在 Nexus 里没有组件

注意下面的提示,就是说没发布成功,login token 验证失败

如果发布成功了,应该这么提示

测试 npm 发布(解决登录失败)

换 npm 仍然没发布成功,尝试重新登录,出现了报错

 

npm notice Publishing to http://xxxxxx/repository/npm-vue-components/
npm ERR! code E401
npm ERR! Unable to authenticate, need: BASIC realm="Sonatype Nexus Repository Manager"

npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\zheyu\AppData\Local\npm-cache\_logs\2023-04-19T02_00_22_336Z-debug-0.log

npm install 提示Unable to authenticate, need: BASIC realm=“Sonatype Nexus Repository Manager“_喜羊羊love红太狼的博客-CSDN博客Unable to authenticate, need: BASIC realm="Sonatype Nexus Repository Manager"https://blog.csdn.net/qq_38423256/article/details/128547791

参考了这篇文章的第二个解决方案,删除 c盘用户下的 .npmrc 配置文件,重新执行登录命令即可

如果需要找配置文件的位置,可以执行命令 npm config list

注意:

  • 切换不同的终端进行登录的时候,一定要检查 nrm ls 是否还在 hb-npm 这个源上,他会自己切换源的
  • 发布组件,建议在 git bash 命令行中进行,否则可能出现报错,bash 不是本地命令

经过上面的操作,登录问题解决了,但是 npm 依然不能发布成功,开始考虑去 nexus 里使用管理员账号找 token 权限相关的配置

Nexus 设置 Sonatype Nexus Repository Manager 相关权限

报错提示的缺失权限

存储库管理权限 Sonatype Nexus Repository Manager

需要去 nexus 里添加的权限(用于解决 npm login 时的报错,报错字面写的是缺失权限)

npm 承载令牌领域 npm Bearer Token Realm

添加位置,需要注意:

  • 顺序在最顶部
  • 保存在最下方

重新尝试发布,ok 了

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
要将 Vue 组件发布npm 上,可以按照以下步骤进行操作: 1. 在你的项目根目录下,使用 `npm init` 命令创建一个 `package.json` 文件。 2. 在 `package.json` 中添加 `main` 属性,指定组件的入口文件路径,例如: ``` "main": "dist/my-component.js", ``` 这里假设你的组件入口文件是 `my-component.js`,并且已经打包到了 `dist` 目录下。 3. 在项目根目录下创建一个 `.npmignore` 文件,用于指定哪些文件不需要被发布npm 上。例如: ``` node_modules/ dist/ ``` 这里的意思是排除 `node_modules` 和 `dist` 目录,因为这些文件夹通常都比较大,而且在安装组件时也不需要这些文件。 4. 在 `package.json` 中添加 `scripts` 属性,用于定义打包命令,例如: ``` "scripts": { "build": "vue-cli-service build --target lib --name my-component src/index.js" }, ``` 这里假设你使用 Vue CLI 3.x 创建了组件项目,并且入口文件是 `src/index.js`。运行 `npm run build` 命令会将组件打包到 `dist` 目录下。 5. 添加 `peerDependencies` 属性,用于指定组件的依赖关系,例如: ``` "peerDependencies": { "vue": "^2.6.10" }, ``` 这里假设你的组件依赖于 Vue 2.x 版本。 6. 确认所有依赖项都已经安装完成,然后使用 `npm login` 命令登录npm 账号。 7. 使用 `npm publish` 命令将组件发布npm 上,例如: ``` npm publish ``` 这里假设你已经在 `package.json` 中指定了包名和版本号。 发布成功后,其他人就可以通过 `npm install` 命令安装你的组件了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lyrelion

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值