UNPKG

pacote-install

Version:

A tool to download npm packages from specific registries

124 lines (83 loc) 3.29 kB
# Pacote Install 一个用于从特定的npm registry下载npm包的工具,并支持递归安装依赖。 ## 功能特点 - 支持从指定registry下载npm包 - 支持同时安装多个npm包 - 递归安装包的依赖到包的node_modules目录 - 支持安装包的peerDependencies - 支持通过命令行使用,也可作为SDK集成到其他项目中 ## 安装 ```bash npm install -g pacote-install ``` 或者使用npx直接运行而不安装: ```bash npx pacote-install <package-name> [package-name2...] ``` ## 使用方法 ### 命令行使用 ```bash # 使用默认registry安装单个包 pacote-install @ub/bell-cli # 使用指定registry安装包 pacote-install @ub/bell-cli --registry=https://npm.mayfair-inc.com # 同时安装多个包 pacote-install @ub/uxp-superpage @ub/uxp-lang-switch --registry=https://npm.mayfair-inc.com # 安装包及其peerDependencies pacote-install @ub/bell-cli --peer ``` ### 作为SDK使用 ```typescript import { install } from 'pacote-install'; // 安装包 await install('@ub/bell-cli', undefined, { registry: 'https://npm.mayfair-inc.com' }); // 或者更细粒度的控制 import { installPackage, installDependencies } from 'pacote-install'; // 只安装主包,不安装依赖 const targetDir = await installPackage('@ub/bell-cli', './my-packages/bell-cli', { registry: 'https://npm.mayfair-inc.com' }); // 安装包的依赖 await installDependencies(targetDir, { registry: 'https://npm.mayfair-inc.com' }); ``` ## API文档 ### install(packageName, targetDir?, options?) 完整安装流程,包括安装主包和递归安装其依赖。 - `packageName` (string): 要安装的包名,例如:`@ub/bell-cli` 或 `@ub/bell-cli@latest` - `targetDir` (string, 可选): 目标安装目录,默认为当前目录下的 `node_modules/<package-name>` - `options` (object, 可选): - `registry` (string, 可选): npm registry的URL,默认为 `https://registry.npmjs.org/` - `peer` (boolean, 可选): 是否安装peerDependencies,默认为 `false` ### installPackage(packageName, targetDir, options?) 只安装单个包,不处理依赖。 - `packageName` (string): 要安装的包名 - `targetDir` (string): 目标安装目录 - `options` (object, 可选): - `registry` (string, 可选): npm registry的URL ### installDependencies(packageDir, options?) 递归安装一个包的所有依赖。 - `packageDir` (string): 包含package.json的目录路径 - `options` (object, 可选): - `registry` (string, 可选): npm registry的URL - `peer` (boolean, 可选): 是否安装peerDependencies,默认为 `false` ## 开发 ```bash # 安装依赖 npm install # 开发模式运行 npm run dev # 构建 npm run build # 运行测试 npm test ``` ## 贡献指南 欢迎提交 Issue 或 Pull Request 来改进此项目。 ## 版本历史 - 0.0.7: 清理代码,修复bug,改进稳定性 - 0.0.6: 添加force选项支持沿用已安装的版本,提升安装效率 - 0.0.5: 添加force选项支持沿用已安装的版本,提升安装效率 - 0.0.4: 添加--peer选项支持安装包的peerDependencies - 0.0.3: 优化错误处理,添加json工具类,更新依赖 - 0.0.2: 添加了超时与重试机制,改进了日志输出 - 0.0.1: 首次发布,基本功能实现 ## License ISC