npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

robot-admin-env-manager

v1.1.0

Published

🚀 Robot Admin 环境配眮管理工具 - 智胜环境切换避免脚本文件被误修改

Readme

🚀 robot-admin-env-manager

䞓䞺现代前端项目讟计的环境配眮管理工具 | 告别环境变量混乱拥抱䌘雅匀发䜓验

npm version Downloads License: MIT Node.js

English | äž­æ–‡

😫 䜠是吊遇到过这些问题

  • 匀发时连错数据库 因䞺 .env 文件忘记切换环境
  • 郚眲出错 测试环境的配眮意倖掚到了生产环境
  • 团队协䜜困隟 每䞪人的环境配眮文件郜䞍䞀样
  • 配眮文件被误删 重芁的环境变量扟䞍回来了
  • 倚环境管理混乱 dev、test、staging、prod 配眮到倄郜是

劂果䜠点倎了那么这䞪工具就是䞺䜠而生的 🎯

✹ 䞺什么选择 env-manager

🎚 粟矎的呜什行界面

────────────────────────────────────────────────────────
◆ Robot Admin — 环境配眮管理工具 v2.1.3

   ◐ 匀始倄理   → production 环境
   ✓ 通甚配眮   → 读取成功
   ✓ 环境配眮   → 读取成功
   ⚙ 合并配眮   → 已完成
   ⚙ 写入文件   → 已完成

✓ 环境切换成功 → PRODUCTION • 12 䞪变量 • 已生效
────────────────────────────────────────────────────────

🛡 安党可靠

  • ✅ 零误操䜜 - 智胜验证防止配眮错误
  • ✅ 粟臎界面 - 统䞀的蟓出块讟计信息枅晰可读
  • ✅ 权限检查 - 确保有足借权限进行文件操䜜
  • ✅ 栌匏验证 - 自劚检查环境变量栌匏

🚀 匀发䜓验极䜳

  • ✅ 䞀键切换 - env-manager dev 秒速切换到匀发环境
  • ✅ 智胜合并 - 自劚合并通甚配眮和环境特定配眮
  • ✅ 零孊习成本 - 简单盎观看䞀県就䌚甚
  • ✅ 倚平台支持 - Windows、macOS、Linux 通甹

💡 现代化讟计

  • ✅ 粟臎界面 - 䜿甚现代化囟标和颜色系统
  • ✅ 零䟝赖 - 只䜿甚 Node.js 内眮暡块启劚飞快
  • ✅ CommonJS & ESM 友奜 - 支持 require / import 䞀种甚法
  • ✅ 真实版本 - 劚态读取 package.json 版本号

📊 安装

党局安装掚荐

npm install -g robot-admin-env-manager

项目内安装

npm install --save-dev robot-admin-env-manager

🚀 快速匀始

1⃣ 初始化项目

# 圚䜠的项目根目圕运行
env-manager --init

执行后䜠䌚看到

────────────────────────────────────────────────────────
◆ Robot Admin — 环境配眮管理工具 v2.1.3

   ⚙ 初始化项目   → 匀始倄理
   ✓ .env         → 创建成功
   ✓ .env.development → 创建成功
   ✓ .env.test    → 创建成功
   ✓ .env.staging → 创建成功
   ✓ .env.production → 创建成功

快速䜿甚:
   env-manager dev       → 匀发环境
   env-manager prod      → 生产环境
   env-manager --scan    → 扫描文件
────────────────────────────────────────────────────────

这䌚创建以䞋文件结构

your-project/
├── envs/
│   ├── .env                    # 🔧 通甚配眮
│   ├── .env.development        # 🔥 匀发环境
│   ├── .env.test              # 🧪 测试环境
│   ├── .env.staging           # 🚀 预发垃环境
│   └── .env.production        # 💎 生产环境
└── .env                       # ⚡ 圓前激掻的环境配眮

2⃣ 配眮䜠的环境文件

envs/.env通甚配眮

# 所有环境共享的配眮
APP_NAME=我的超赞项目
APP_VERSION=1.0.0
DATABASE_TIMEOUT=30000
UPLOAD_MAX_SIZE=10485760

envs/.env.development匀发环境

# 匀发环境特定配眮
NODE_ENV=development
API_URL=http://localhost:3000
DATABASE_URL=mongodb://localhost:27017/myapp_dev
DEBUG=true
MOCK_DATA=true

envs/.env.production生产环境

# 生产环境特定配眮
NODE_ENV=production  
API_URL=https://api.myapp.com
DATABASE_URL=mongodb://prod-cluster:27017/myapp
DEBUG=false
ENABLE_ANALYTICS=true

3⃣ 䞀键切换环境

# 切换到匀发环境
env-manager dev

# 切换到生产环境  
env-manager prod

# 切换到测试环境
env-manager test

# 查看所有可甚环境
env-manager --scan

扫描环境文件的蟓出瀺䟋

────────────────────────────────────────────────────────
◆ Robot Admin — 环境配眮管理工具 v2.1.3

发现环境文件:
   ◉ .env                      → 0.2KB
   ◉ .env.development          → 0.3KB
   ◉ .env.test                 → 0.2KB
   ◉ .env.staging              → 0.3KB
   ◉ .env.production           → 0.4KB
────────────────────────────────────────────────────────

💡 䜿甚场景

🔥 场景䞀日垞匀发

# 早䞊匀始匀发
env-manager dev
npm run start

# 需芁测试时
env-manager test  
npm run test

# 准倇郚眲
env-manager prod
npm run build

🚀 场景二CI/CD 集成

# GitHub Actions
- name: Setup Environment
  run: |
    npm install -g robot-admin-env-manager
    env-manager production
    npm run build

# Docker 郚眲
FROM node:18-alpine
RUN npm install -g robot-admin-env-manager
COPY envs/ ./envs/
RUN env-manager production

👥 场景䞉团队协䜜

# 新同事入职
git clone your-project
cd your-project
npm install
env-manager --init        # 创建环境文件暡板
env-manager dev          # 䞀键配眮匀发环境
npm run dev              # 匀始匀发环境已就绪

🔧 场景四倚项目管理

# 项目A - 电商平台
cd project-a
env-manager prod         # 切换到生产环境
npm run deploy

# 项目B - 管理后台  
cd ../project-b
env-manager staging      # 切换到预发垃环境
npm run test

📖 完敎 API 文档

🖥 呜什行接口

基础呜什

env-manager <environment>    # 切换到指定环境
env-manager --init          # 初始化项目环境文件
env-manager --scan          # 扫描可甚的环境文件
env-manager --help          # 星瀺垮助信息
env-manager --version       # 星瀺版本号

支持的环境类型

| 环境名称 | 别名 | 对应文件 | 䜿甚场景 | |---------|-----|----------|----------| | dev | development, local | .env.development | 🔥 本地匀发 | | test | - | .env.test | 🧪 自劚化测试 | | staging | stage, uat | .env.staging | 🚀 预发垃验证 | | prod | production | .env.production | 📎 生产环境 |

高级选项

env-manager prod --backup              # 切换前倇仜圓前 .env 䞺 .env.backup
env-manager prod --dry-run             # 预览合并结果䞍实际写入文件
env-manager dev --envsDir=config/envs  # 自定义环境文件目圕
env-manager dev --target=.env.local    # 自定义蟓出文件路埄
env-manager --init --force             # 区制重新初始化芆盖已有文件
env-manager --scan --envsDir=config    # 扫描自定义目圕

📝 猖皋匏 API

ES6 暡块

import { switchEnv, scanEnvs, initProject } from 'robot-admin-env-manager'

// 切换环境
await switchEnv('production', {
  envsDir: 'config/envs',    // 自定义环境文件目圕
  targetFile: '.env.local',   // 自定义蟓出文件
  backup: true,              // 切换前倇仜圓前 .env
  dryRun: false,             // 是吊仅预览
  silent: false              // 是吊静默暡匏
})

// 扫描环境文件
const envFiles = await scanEnvs({ envsDir: 'envs' })
console.log('扟到环境文件:', envFiles)

// 初始化项目
await initProject({ 
  envsDir: 'envs',
  force: false 
})

CommonJS

const { switchEnv, scanEnvs, initProject } = require('robot-admin-env-manager')

// 圚 Express 应甚䞭䜿甚
app.post('/api/switch-env', async (req, res) => {
  try {
    const { environment } = req.body
    const result = await switchEnv(environment)
    res.json({ success: true, result })
  } catch (error) {
    res.status(500).json({ error: error.message })
  }
})

类暡匏向后兌容

const EnvManager = require('robot-admin-env-manager')

const manager = new EnvManager({
  envsDir: 'custom-envs',
  targetFile: '.env.local',
  silent: true
})

await manager.switchEnvironment('production')
await manager.scanEnvironmentFiles()
await manager.initializeProject()

🔧 配眮文件诊解

🗂 目圕结构

your-project/
├── envs/                      # 环境配眮目圕
│   ├── .env                   # 通甚配眮所有环境共享
│   ├── .env.development       # 匀发环境配眮
│   ├── .env.test             # 测试环境配眮
│   ├── .env.staging          # 预发垃环境配眮
│   └── .env.production       # 生产环境配眮
├── .env                      # 圓前激掻的环境配眮自劚生成
└── .gitignore               # 确保 .env 被応略

🔀 配眮合并规则

env-manager 䌚智胜合并配眮文件

  1. 䌘先级: 环境特定配眮 > 通甚配眮
  2. 合并策略:
    • 劂果变量圚环境特定文件䞭存圚䜿甚环境特定的倌
    • 劂果变量只圚通甚文件䞭存圚䜿甚通甚的倌
    • 自劚添加泚释诎明变量来源

瀺䟋合并结果

# ✹ 自劚生成的环境配眮文件
# 🚀 由 robot-admin-env-manager 生成 (development 环境)
# ⚠  请勿手劚猖蟑歀文件
# 📝 最后曎新: 2024-01-15 10:30:25

# ═══════════════ 环境特定配眮 ═══════════════
NODE_ENV=development
API_URL=http://localhost:3000
DEBUG=true

# ═══════════════ 通甚配眮 ═══════════════
APP_NAME=我的超赞项目
APP_VERSION=1.0.0
# DATABASE_URL=mongodb://prod:27017/app # (被环境特定配眮芆盖)

📋 最䜳实践

✅ 掚荐做法

# envs/.env - 通甚配眮
APP_NAME=MyApp
APP_VERSION=1.0.0
DEFAULT_LOCALE=zh-CN
TIMEZONE=Asia/Shanghai

# envs/.env.development - 匀发环境
NODE_ENV=development
API_URL=http://localhost:3000
DEBUG=true
LOG_LEVEL=debug

# envs/.env.production - 生产环境
NODE_ENV=production
API_URL=https://api.myapp.com
DEBUG=false
LOG_LEVEL=error

❌ 避免的做法

# 䞍芁圚通甚配眮䞭攟环境特定的倌
API_URL=http://localhost:3000  # ❌ 这是匀发环境特定的

# 䞍芁圚环境文件䞭重倍通甚配眮
APP_NAME=MyApp  # ❌ 这应该圚通甚配眮䞭

🎚 界面讟计特色

🌈 现代化颜色系统

  • 䞻色调: 现代蓝玫色系䞓䞚䞔䞍倱掻力
  • 状态颜色: 成功绿✓、譊告黄⚠、错误红✕、信息蓝◉
  • 粟臎囟标: 䜿甚 Unicode 笊号无需额倖字䜓

📋 统䞀蟓出栌匏

所有操䜜郜䜿甚统䞀的蟓出块栌匏

────────────────────────────────────────────────────────
◆ Robot Admin — 环境配眮管理工具 v2.1.3

   [囟标] 操䜜描述   → 诊细信息

✓ 最终结果 → 关键信息 • 统计数据 • 状态
────────────────────────────────────────────────────────

🎯 枅晰的信息层级

  • 品牌标识: ◆ + 工具名称 + 版本号
  • 倄理过皋: 垊箭倎的枅晰步骀
  • 最终结果: 突出的成功卡片讟计
  • 文字对霐: 所有文本郜粟确对霐

🛠 项目集成

📊 圚 package.json 䞭集成

{
  "scripts": {
    "env:dev": "env-manager dev",
    "env:test": "env-manager test",
    "env:staging": "env-manager staging", 
    "env:prod": "env-manager prod",
    
    "dev": "env-manager dev && npm run start:dev",
    "test": "env-manager test && npm run test:unit",
    "build:staging": "env-manager staging && npm run build",
    "build:prod": "env-manager prod && npm run build",
    
    "deploy:staging": "npm run build:staging && npm run deploy",
    "deploy:prod": "npm run build:prod && npm run deploy"
  }
}

🐳 Docker 集成

FROM node:18-alpine

# 安装 env-manager
RUN npm install -g robot-admin-env-manager

# 倍制环境配眮
COPY envs/ ./envs/

# 根据构建参数讟眮环境
ARG NODE_ENV=production
RUN env-manager ${NODE_ENV}

# 构建应甚
COPY . .
RUN npm ci && npm run build

CMD ["npm", "start"]

⚙ GitHub Actions 集成

name: Build and Deploy

on:
  push:
    branches: [main, develop]

jobs:
  build:
    runs-on: ubuntu-latest
    
    steps:
      - uses: actions/checkout@v3
      
      - uses: actions/setup-node@v3
        with:
          node-version: '18'
          
      - name: Install dependencies
        run: npm ci
        
      - name: Setup environment
        run: |
          npm install -g robot-admin-env-manager
          env-manager ${{ github.ref == 'refs/heads/main' && 'production' || 'staging' }}
          
      - name: Build
        run: npm run build
        
      - name: Deploy
        run: npm run deploy

🔧 Webpack/Vite 集成

// webpack.config.js
const path = require('path')

module.exports = {
  // Webpack 䌚自劚读取 .env 文件
  plugins: [
    new webpack.DefinePlugin({
      'process.env': JSON.stringify(process.env)
    })
  ]
}

// vite.config.js
import { defineConfig, loadEnv } from 'vite'

export default defineConfig(({ mode }) => {
  // env-manager 生成的 .env 文件䌚被自劚加蜜
  const env = loadEnv(mode, process.cwd(), '')
  
  return {
    define: {
      __APP_ENV__: JSON.stringify(env.NODE_ENV)
    }
  }
})

🔐 安党最䜳实践

🛡 文件权限管理

# .gitignore 配眮
.env
.env.local
.env.*.local

# 䜆芁保留环境文件暡板
!envs/.env.example
!envs/.env.development.example

🔒 敏感信息倄理

# envs/.env.production
# 䜿甚环境变量或密钥管理服务
DATABASE_URL=${DATABASE_URL}
API_SECRET=${API_SECRET}
JWT_SECRET=${JWT_SECRET}

# 或䜿甚占䜍笊郚眲时替换
DATABASE_URL=__DATABASE_URL__
API_SECRET=__API_SECRET__

🚚 垞见问题

A: 请检查以䞋几点

  1. 确保已运行 env-manager <environment> 切换环境
  2. 检查应甚是吊正确加蜜了 .env 文件
  3. 确讀环境变量名称栌匏正确字母、数字、䞋划线
  4. 重启䜠的应甚服务
# 验证环境文件
env-manager --scan
cat .env

䜠应该看到类䌌这样的蟓出

────────────────────────────────────────────────────────
◆ Robot Admin — 环境配眮管理工具 v2.1.3

发现环境文件:
   ◉ .env                      → 0.2KB
   ◉ .env.development          → 0.3KB
   ◉ .env.test                 → 0.2KB
   ◉ .env.staging              → 0.3KB
   ◉ .env.production           → 0.4KB
────────────────────────────────────────────────────────

A: 掚荐的做法

  1. 将 envs/ 目圕提亀到 Git
  2. 圚 .gitignore 䞭排陀 .env 文件
  3. 团队成员克隆代码后运行 env-manager --init
  4. 根据需芁修改 envs/ 䞭的配眮文件
# 团队成员的操䜜流皋
git clone your-project
cd your-project
npm install
env-manager --init
env-manager dev

A: 圓然可以支持倚种自定义方匏

# 猖皋匏方匏
const { switchEnv } = require('robot-admin-env-manager')
await switchEnv('dev', { envsDir: 'config/environments' })

A: 粟臎界面讟计垊来的奜倄

  1. 视觉完敎性: 统䞀的蟓出块每䞪操䜜郜有明确蟹界
  2. 信息枅晰: 䜿甚囟标和颜色区分䞍同状态
  3. 现代化䜓验: 笊合现代 CLI 工具的讟计理念
  4. 易于阅读: 粟确对霐的文本提高可读性
  5. 䞓䞚感: 给匀发团队垊来曎奜的工具䜿甚䜓验

🀝 莡献指南

我们欢迎所有圢匏的莡献

🐛 报告 Bug

圚 GitHub Issues 䞭报告问题时请包含

  • 操䜜系统和 Node.js 版本
  • 完敎的错误信息
  • 重现步骀
  • 期望的行䞺

💡 功胜建议

我们垌望听到䜠的想法请圚 Issues 䞭描述

  • 功胜的䜿甚场景
  • 具䜓的实现建议
  • 盞关的技术细节

🔧 代码莡献

# 1. Fork 项目
git clone https://github.com/your-username/robot-admin-env-manager.git

# 2. 创建功胜分支
git checkout -b feature/amazing-feature

# 3. 提亀改劚
git commit -m "feat: add amazing feature"

# 4. 掚送分支
git push origin feature/amazing-feature

# 5. 创建 Pull Request

📝 提亀规范

我们䜿甚 Conventional Commits

  • feat: 新功胜
  • fix: Bug 修倍
  • docs: 文档曎新
  • style: 代码栌匏调敎
  • refactor: 代码重构
  • test: 测试盞关
  • chore: 构建工具、䟝赖曎新等

📊 项目统计

  • 🚀 启劚时闎: < 100ms
  • 📊 包倧小: < 50KB
  • 🔧 零倖郚䟝赖
  • 🧪 测试芆盖率: 95%+
  • 🌍 支持平台: Windows, macOS, Linux
  • 🏗 支持运行时: Node.js 14+, Bun, Deno
  • 🎚 现代化CLI界面: 粟臎的蟓出块讟计

🙏 臎谢

感谢所有䞺这䞪项目做出莡献的匀发者们

特别感谢

  • dotenv - 启发了环境变量管理的最䜳实践
  • chalk - 呜什行颜色蟓出的灵感来源
  • commander - 呜什行解析的讟计参考
  • Vercel CLI - 现代化CLI界面讟计的灵感来源

📄 讞可证

MIT © Robot Admin Team


劂果这䞪工具对䜠有垮助请给我䞀䞪 ⭐

🐛 报告问题 • 💡 功胜建议 • 💬 讚论亀流

让环境管理变埗简单䌘雅 🚀