Verdaccio 是一个轻量级的私有 npm 仓库管理工具,它允许你在本地或私有网络中托管 npm 包。Verdaccio 的 UI 提供了一个直观的界面来管理存储在仓库中的包。如果你想要从本地托管的 Verdaccio UI 中删除所有包,可以按照以下步骤操作:
http://localhost:4873
。storage
文件夹。如果你希望通过脚本自动化删除过程,可以使用以下 Node.js 脚本示例:
const axios = require('axios');
const fs = require('fs');
const path = require('path');
const verdaccioUrl = 'http://localhost:4873';
const storagePath = path.join(__dirname, 'storage'); // 根据实际情况修改路径
// 获取所有包名
async function getAllPackages() {
const response = await axios.get(`${verdaccioUrl}/-/verdaccio/packages`);
return Object.keys(response.data);
}
// 删除单个包
async function deletePackage(pkgName) {
await axios.delete(`${verdaccioUrl}/-/verdaccio/package/${pkgName}`);
}
// 删除所有包
async function deleteAllPackages() {
const packages = await getAllPackages();
for (const pkg of packages) {
await deletePackage(pkg);
console.log(`Deleted package: ${pkg}`);
}
}
// 清除存储目录
function clearStorageDirectory() {
if (fs.existsSync(storagePath)) {
fs.rmdirSync(storagePath, { recursive: true });
console.log('Cleared storage directory.');
}
}
// 主函数
async function main() {
try {
await deleteAllPackages();
clearStorageDirectory();
} catch (error) {
console.error('Error occurred:', error);
}
}
main();
通过上述步骤,你可以从本地托管的 Verdaccio UI 中删除所有包。如果遇到问题,检查 Verdaccio 的日志文件通常可以帮助诊断问题所在。
领取专属 10元无门槛券
手把手带您无忧上云