Yarn镜像仓库登录与配置技巧 高效管理教程

阿木 发布于 17 小时前 1 次阅读


下午三点,办公室安静得能听见硬盘转动的声音。

我忽然发觉,自己已然对着“yarn login”这个指令凝视了十分钟。

不是不会敲。

是每次敲下去,都觉得自己像在给代码世界递身份证。

那种感觉,怎么说呢——有点微妙。

你也在为npm慢哭过吗?

记得刚入行那年,npm install跑完一顿饭。

后来同事神秘兮兮地塞给我一个地址:“用这个,快。”

那是第一次接触镜像。

快得像偷跑。

但没人告诉我,镜像背后,藏着一个更深的江湖。

镜像仓库这东西,像公司的茶水间。

从外在看似只是个用以放置依赖的场所,然而实际上 ,那个发布了何种版本的人是谁 ,那个对底层库进行更新操作的人是谁 ,那个在忘记登录状态下就执行push的人是谁 ,这些情况全都被了解得清清楚楚。

  1. yarn config set registry https://your-private-registry.com

登录这件事,没那么简单

初次进行私有仓库配置时,我于.npmrc之中写下了三行配置内容,如此这般折腾耗费了两小时。

  1. {
  2. "name": "your-project",
  3. "version": "1.0.0",
  4. "publishConfig": {
  5. "registry": "https://your-private-registry.com"
  6. }
  7. }

后来察觉到,yarn login 这般的命令,其背后是 credentials 在配置文件之中安身落户。

先是把那个用户名敲进去,接着将密码输进去,(实际上啥都不会显示,只是单纯地在敲),然后再之后——你就变成了这个仓库的合法居民。

  1. registry=https://your-private-registry.com

有种拿到门禁卡的踏实感。

但也会有那种时刻:登录失败。

403 forbidden。

  1. yarn login --registry https://your-private-registry.com

红色的字。

心跳漏一拍。

赶紧去查看一下,是不是token已经过期,是不是权限配置出现错误,是不是又一次双叒叕却还是忘了填写registry地址。

那些镜像仓库教会我的事

  1. yarn config set //your-private-registry.com/:_authToken YOUR_TOKEN

有的时候会去想,yarn publish这种操作,跟git push这种行为,在本质层面上是一样的。

都是交出去。

将那尚未写完的组件给予传递,把历经三日修复的漏洞给予传递,把直至凌晨两点仍在修改的语句给予传递。

  1. yarn config get registry

镜像仓库里躺着的,不只是包。

那是一回回构建遭遇失败而后再度重新来过所留存下的痕迹,是版本号从零点零一历经变化直至二点三八的迁移历程。

  1. yarn publish

删包那天的犹豫

四、镜像仓库操作命令详解——文档里写得清清楚楚。

yarn package unpublish。

  1. yarn publish --tag beta

但我一次都没用过。

不是不会。

是不敢。

  1. yarn add package-name --registry https://your-private-registry.com

那个时刻你会陡然察觉到,删去一个版本,或许就表示某个共事的人明天清晨起床后,yarn install就会出现故障。

那个技术的世界呢,是这般模样,表面你好似在对代码予以操作,可实际上你却是在对人与人之间所存在的依赖关系进行操作呀。

  1. yarn install

配置多仓库那点事儿

公司大了,环境多了,一个仓库不够用了。

  1. yarn info package-name --registry https://your-private-registry.com

. npmrc 中,registry 被写得满满当当,scope 朝着不一样的地址指向。

有时候切项目,忘了切配置,依赖装得乱七八糟。

然后骂一句,删掉node_modules,重来。

这种事儿,谁没干过?

  1. curl -X GET "https://your-private-registry.com/-/v1/search?text=" | jq '.objects[].package.name'

其实我们都在找那个“对的地方”

镜像仓库也好,npm官方也好。

本质上,我们只是在给代码找个落脚的地方。

  1. yarn unpublish package-name@version --registry https://your-private-registry.com

希望它下载快点,希望它安全点,希望它别老变来变去。

开发者多简单啊——代码能跑起来,就开心。

下午五点半,阳光斜进来,照在屏幕上。

我又敲了一遍yarn login。

这次成功了。