railway-cli

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Railway CLI

Railway CLI

Operate the Railway platform from the command line. Covers the full lifecycle: authentication, project setup, deployment, services, variables, environments, logs, domains, volumes, functions, and local development.
Source of truth: Railway CLI Docs
通过命令行操作Railway平台。覆盖全生命周期:身份验证、项目设置、部署、服务、变量、环境、日志、域名、卷、函数以及本地开发。
权威来源Railway CLI 文档

Handling Missing Installation

处理未安装情况

Assume
railway
is installed. If a command fails with "command not found" or similar, install it before retrying:
bash
undefined
默认假设
railway
已安装。如果命令执行失败并提示“command not found”或类似信息,请先安装再重试:
bash
undefined

macOS (preferred)

macOS(推荐方式)

brew install railway
brew install railway

Any OS with Node.js >= 16

任何安装了Node.js >= 16的系统

npm i -g @railway/cli
npm i -g @railway/cli

Shell script (macOS / Linux / WSL)

Shell脚本(macOS / Linux / WSL)

bash <(curl -fsSL cli.new)

After install, verify with `railway --version`, then resume the original task.
bash <(curl -fsSL cli.new)

安装完成后,使用`railway --version`验证,然后继续执行原任务。

Self-Discovery

自我探索

The Railway CLI evolves across versions. When you encounter an unfamiliar subcommand or need to check current flags:
bash
railway --help              # Top-level commands
railway <command> --help    # Subcommand flags and usage
Always prefer
--help
output over memorized flags when composing complex commands. This keeps behavior correct even as the CLI updates.
Railway CLI会随版本迭代更新。当你遇到不熟悉的子命令或需要查看当前可用参数时:
bash
railway --help              # 查看顶级命令
railway <command> --help    # 查看子命令参数及使用方法
在编写复杂命令时,优先参考
--help
的输出,而非记忆中的参数。这样即使CLI更新,也能保证操作的正确性。

Authentication

身份验证

bash
railway login                   # Browser-based login
railway login --browserless     # Token-based login (CI, SSH sessions)
railway logout
railway whoami                  # Verify current identity
CI/CD token auth (no interactive login):
  • RAILWAY_TOKEN
    — project-scoped actions
  • RAILWAY_API_TOKEN
    — account/workspace-scoped actions
bash
RAILWAY_TOKEN=<token> railway up
bash
railway login                   # 基于浏览器的登录
railway login --browserless     # 基于令牌的登录(适用于CI、SSH会话)
railway logout
railway whoami                  # 验证当前身份
CI/CD令牌认证(无需交互式登录):
  • RAILWAY_TOKEN
    — 项目级操作权限
  • RAILWAY_API_TOKEN
    — 账户/工作区级操作权限
bash
RAILWAY_TOKEN=<token> railway up

Project Lifecycle

项目生命周期

Create or link

创建或关联

bash
railway init                    # Create new project (interactive)
railway link                    # Link cwd to existing project
railway unlink                  # Unlink cwd
bash
railway init                    # 新建项目(交互式)
railway link                    # 将当前目录关联到已有项目
railway unlink                  # 取消当前目录的关联

Inspect

查看项目信息

bash
railway status                  # Current project/service/environment info
railway list                    # All projects in workspace
railway open                    # Open project in browser
bash
railway status                  # 查看当前项目/服务/环境信息
railway list                    # 查看工作区内的所有项目
railway open                    # 在浏览器中打开项目

Deployment

部署

bash
railway up                      # Deploy cwd
railway up --detach             # Deploy without tailing logs
railway deploy --template postgres  # Deploy from a template
railway redeploy                # Redeploy latest deployment
railway restart                 # Restart service (no new build)
railway down                    # Remove latest deployment
bash
railway up                      # �部署当前目录
railway up --detach             # 部署但不跟踪日志
railway deploy --template postgres  # 通过模板部署
railway redeploy                # 重新部署最新版本
railway restart                 # 重启服务(不重新构建)
railway down                    # 删除最新部署

Services

服务管理

bash
railway add                     # Add service (interactive)
railway add --database postgres # Add a database (postgres, mysql, redis, mongo)
railway add --repo user/repo    # Add service from GitHub repo
railway service                 # Switch linked service (interactive)
railway scale                   # Scale service replicas
railway delete                  # Delete the project
bash
railway add                     # 添加服务(交互式)
railway add --database postgres # 添加数据库(支持postgres、mysql、redis、mongo)
railway add --repo user/repo    # 从GitHub仓库添加服务
railway service                 # 切换关联的服务(交互式)
railway scale                   # 调整服务副本数量
railway delete                  # 删除项目

Variables

变量管理

bash
railway variable list                   # List all variables
railway variable set KEY=value          # Set a variable
railway variable set K1=v1 K2=v2       # Set multiple at once
railway variable delete KEY             # Remove a variable
bash
railway variable list                   # 查看所有变量
railway variable set KEY=value          # 设置单个变量
railway variable set K1=v1 K2=v2       # 批量设置变量
railway variable delete KEY             # 删除变量

Environments

环境管理

bash
railway environment                     # Switch environment (interactive)
railway environment new <name>          # Create environment
railway environment delete <name>       # Delete environment
bash
railway environment                     # 切换环境(交互式)
railway environment new <name>          # 创建新环境
railway environment delete <name>       # 删除环境

Local Development

本地开发

bash
railway run <cmd>               # Run command with Railway env vars injected
railway shell                   # Open shell with Railway env vars
railway dev                     # Run services locally with Docker
railway run
is useful for running migrations, seeds, or scripts that need production/staging credentials without
.env
files.
bash
railway run <cmd>               # 注入Railway环境变量并执行命令
railway shell                   # 打开包含Railway环境变量的Shell
railway dev                     # 通过Docker在本地运行服务
railway run
适用于执行需要生产/预发环境凭证的迁移、数据填充或脚本,无需使用
.env
文件。

Logs & Debugging

日志与调试

bash
railway logs                    # Stream live deployment logs
railway logs --build            # View build logs
railway logs -n 100             # Last N lines
railway ssh                     # SSH into running service container
railway connect                 # Connect to database shell (psql, mysql, redis-cli, mongosh)
bash
railway logs                    # 流式查看部署日志
railway logs --build            # 查看构建日志
railway logs -n 100             # 查看最后N行日志
railway ssh                     # SSH连接到运行中的服务容器
railway connect                 # 连接到数据库Shell(支持psql、mysql、redis-cli、mongosh)

Networking

网络配置

bash
railway domain                  # Generate a Railway subdomain
railway domain example.com      # Attach a custom domain
bash
railway domain                  # 生成Railway子域名
railway domain example.com      # 绑定自定义域名

Volumes

卷管理

bash
railway volume list
railway volume add
railway volume delete
bash
railway volume list
railway volume add
railway volume delete

Functions

�函数管理

bash
railway functions list
railway functions new
railway functions push
bash
railway functions list
railway functions new
railway functions push

Utilities

实用工具

bash
railway completion bash         # Generate shell completions (bash/zsh/fish)
railway docs                    # Open docs in browser
railway upgrade                 # Upgrade CLI to latest version
bash
railway completion bash         # 生成Shell补全脚本(支持bash/zsh/fish)
railway docs                    # 在浏览器中打开文档
railway upgrade                 # 将CLI升级到最新版本

Global Flags

全局参数

These flags work across most commands:
FlagDescription
-s, --service <name-or-id>
Target a specific service
-e, --environment <name-or-id>
Target a specific environment
--json
Output as JSON (useful for scripting)
-y, --yes
Skip confirmation prompts
-h, --help
Show help
-V, --version
Show CLI version
以下参数适用于大多数命令:
参数描述
-s, --service <name-or-id>
指定目标服务
-e, --environment <name-or-id>
指定目标环境
--json
�以JSON格式输出(适用于脚本编写)
-y, --yes
跳过确认提示
-h, --help
�查看帮助信息
-V, --version
查看CLI版本

Common Workflows

常见工作流

First-time project setup

首次项目设置

bash
railway login
railway init          # or: railway link
railway up
railway domain        # get a public URL
railway logs          # verify deployment
bash
railway login
railway init          # 或使用:railway link
railway up
railway domain        # 获取公共URL
railway logs          # 验证部署情况

Add a database to an existing project

为已有项目添加数据库

bash
railway add --database postgres
railway connect       # verify connectivity
railway variable list # check injected DATABASE_URL
bash
railway add --database postgres
railway connect       # 验证连接情况
railway variable list # 查看自动注入的DATABASE_URL

Deploy with environment targeting

指定环境进行部署

bash
railway environment new staging
railway up -e staging
railway logs -e staging
bash
railway environment new staging
railway up -e staging
railway logs -e staging

Run a one-off command with prod vars

使用生产环境变量执行一次性命令

bash
railway run -e production npx prisma migrate deploy
bash
railway run -e production npx prisma migrate deploy

Additional Resources

额外资源

For the full and most current reference, see reference.md or consult:
如需完整且最新的参考文档,请查看reference.md或访问: