NPM 管理组织包

简介: NPM 管理组织包

1、关于组织范围和包

每个组织都被授予一个组织作用域,即与组织名称匹配的组织所拥有的包的唯一命名空间。例如,名为“wombat”的组织将具有范围@wombat

您可以使用作用域:

  • 维护一个包的分支:@wombat/request
  • 避免与流行名称的名称争议:@wombat/web
  • 在同一命名空间中轻松查找包

作用域中的包必须遵循与非作用域包相同的命名准则。

1.1 管理无作用域的包

虽然在创建组织时默认情况下会授予一个范围,但您也可以使用组织来管理未限定范围的包或其他范围(如用户范围)下的包。

2、使用组织设置配置npm客户端

作为组织成员,您可以将npm客户端配置为:

  • 使您在本地创建的单个包或所有新包使用您组织的作用域
  • 使本地创建的单个包或所有新包具有默认的公共可见性

2.1 配置您的npm客户端以使用您组织的范围

如果您将经常发布具有组织范围的包,则可以将组织范围添加到全局.npmrc配置文件中。

为所有新包设置组织范围

注意:使用以下步骤设置组织范围将仅设置新包的范围;对于现有的软件包,您需要更新name中的package.json字段。

在命令行中,运行以下命令,将org-name替换为组织名称:

npm config set scope <org-name> --global

对于不希望使用组织范围发布的包,必须手动编辑包的package.json以从name字段中删除组织范围。

为单个包设置组织范围

1、在命令行中,切换到包的目录中:

cd /path/to/package

2、运行以下命令,将org-name替换为组织名称:

npm config set scope <org-name>

2.2 将默认包可见性更改为public

默认情况下,使用npm publish发布一个有作用域的包将以私有方式发布该包。如果您是免费组织计划中的组织成员,或者是付费组织计划中的组织成员,但要将限定范围的包发布为公共包,则必须传递--access public标志:

npm publish --access public

将单个包的包可见性设置为public

您可以设置单个包,使其将--access public 传递给您为该包发出的每个npm publish命令。

1、在命令行中,切换到包的目录中:

cd /path/to/package

2、运行以下命令:

npm config set access public

将所有包的包可见性设置为public

您可以设置所有包将--access public 传递给您为该包发出的每个npm publish命令。

警告:将包访问权限设置为全局public中的.npmrc将影响您创建的所有包,包括您个人帐户范围内的包以及您组织范围内的包。

在命令行上,运行以下命令:

npm config set access public --global

3、创建和发布组织范围的包

作为组织成员,您可以在组织范围内创建和发布公共包和私有包。

3.1 创建组织范围的包

1、在命令行中,使用要创建的包的名称创建一个目录。

2、切换到新创建的包目录

3、要创建组织范围的包,请在命令行上运行:

npm init --scope=<your_org_name>

4、要验证包是否使用您的组织范围,请在文本编辑器中打开包的package.json文件,并检查名称是否为@your_org_name/<pkg_name>,也可以直接修改name字段,将your_org_name替换为您的组织名称。

3.2 发布私有组织范围的包

默认情况下,npm publish将发布一个范围内的包作为私有包。

默认情况下,任何作用域的包都发布为私有包。但是,如果您所在的组织没有“私有包”功能,则除非传递access标志,否则npm发布将失败。

1、在命令行中,切换到包的目录中。

2、运行 npm publish

如果开启双重认证,需要打开上图中,最下面的链接,需要进行双重认证之后返回一次性密码,然后粘贴密码复制到当前窗口即可,将发布成组织范围的私有包。

私有包会在npm网站上的包名下面显示private。例如下图所示:

3.3 发布公共组织范围的包

要将组织范围内的包发布为公共包,请使用npm publish --access public

1、在命令行中,切换到包的目录。

2、运行 npm publish --access public

公共包会在npm网站上,有public 标识,如下图所示:

发布成功之后,会有邮件提示你,包已经发布成功,可以登录npm网站进行查看。



相关文章
|
30天前
|
前端开发 小程序 API
【微信小程序】-- 使用 npm 包 - API Promise化(四十二)
【微信小程序】-- 使用 npm 包 - API Promise化(四十二)
|
30天前
|
资源调度 小程序 前端开发
【微信小程序】-- 使用 npm 包 - Vant Weapp(四十一)
【微信小程序】-- 使用 npm 包 - Vant Weapp(四十一)
|
30天前
|
资源调度 小程序 前端开发
【微信小程序】-- npm包总结 --- 基础篇完结(四十七)
【微信小程序】-- npm包总结 --- 基础篇完结(四十七)
|
4月前
|
JavaScript
Nodejs 第七章(发布npm包)
Nodejs 第七章(发布npm包)
28 0
|
26天前
|
JavaScript 内存技术
node与npm版本对应关系以及使用nvm管理node版本
node与npm版本对应关系以及使用nvm管理node版本
84 0
|
4月前
查看 npm 包下载量(简单快捷,数据精确)
查看 npm 包下载量(简单快捷,数据精确)
164 0
|
3月前
|
资源调度
#发布npm包遇到错误,因为用了淘宝镜像地址的原因的解决方法-403 403 Forbidden - PUT https://registry.npmmirror.com/-/user/org.cou
#发布npm包遇到错误,因为用了淘宝镜像地址的原因的解决方法-403 403 Forbidden - PUT https://registry.npmmirror.com/-/user/org.cou
150 0
|
4月前
|
JavaScript 前端开发
实现自动扫描工作区npm包并同步cnpm
前言 在开发一个多npm包的项目时,时常会一次更新多个包的代码,再批量发布到 npm 镜像源后。 由于国内网络环境的原因,大部分都会使用淘宝的镜像源进行依赖安装,为了确保发布后,通过淘宝源能够顺利的安装,通常会手动同步一下 cnpm sync vue react 但在一些大型的 monorepo 的多包工程里,手动输入包名是一件非常繁琐的事情,所以准备把输入的过程简化一下,改成自动扫描工作区的包名,然后自动同步。 进而有了这个工具 工具的使用 直接通过 npx 运行即可,将自动扫描所有的包
message: 没有找到可以构建的 NPM 包,请确认需要参与构建的 npm 都在 `miniprogra
message: 没有找到可以构建的 NPM 包,请确认需要参与构建的 npm 都在 `miniprogra
|
1月前
|
供应链 JavaScript Shell
供应链投毒预警 | 恶意NPM包利用Windows反向shell后门攻击开发者
本周(2024年02月19号),悬镜供应链安全情报中心在NPM官方仓库(https://npmjs.com)中发现多起NPM组件包投毒事件。攻击者利用包名错误拼写方式 (typo-squatting)在NPM仓库中连续发布9个不同版本的恶意包,试图通过仿冒合法组件(ts-patch-mongoose)来攻击潜在的NodeJS开发者。
31 2

推荐镜像

更多