关于 package-script-writer
Package Script Writer 是面向 psw 命令行工具的技能,用于生成和运行 Umbraco CMS 安装脚本,涵盖无人值守安装、选择程序包及重跑历史脚本。
主要功能
- 01生成 Umbraco 安装脚本
- 02执行无人值守安装
- 03添加程序包及版本
- 04查看并重跑脚本历史
适用场景
- 01使用 SQLite 创建 Umbraco 项目
- 02安装 Umbraco 并指定程序包
- 03重跑先前生成的脚本
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ umbraco/ umbraco-cms-backoffice-skills --skill package-script-writer安装后在 Claude Code 中输入/package-script-writer确认已加载。
详细介绍
Package Script Writer(psw)
使用 psw CLI 工具生成并运行 Umbraco CMS 安装脚本。
工作流
-
检查是否已安装 PSW CLI:
psw --version如果找不到命令,可能是 .NET 工具路径未添加到 PATH。请尝试:
- Linux/Mac:
export PATH="$PATH:$HOME/.dotnet/tools" && psw --version - Windows:
%USERPROFILE%\.dotnet\tools\psw --version
- Linux/Mac:
-
如果尚未安装,请安装:
dotnet tool install --global PackageScriptWriter.Cli -
然后运行 psw 命令(见下文)
非交互式用法(Claude Code)
请使用此命令:
export PATH="$PATH:$HOME/.dotnet/tools"
psw -d -n ProjectName -s ProjectName -u --database-type SQLite --admin-email [email protected] --admin-password SecurePass1234 --auto-run
由于 Umbraco 是长期运行的 Web 服务器,请使用 run_in_background: true 运行此命令。
关键标志:
-d— 必需 — 生成完整安装脚本(不使用此标志时,只会生成dotnet run,导致运行失败)-u— 使用无人值守安装默认值--auto-run— 立即执行脚本- 切勿将
-o与--auto-run结合使用(这会截断脚本)
默认凭据: [email protected] / SecurePass1234
使用包
psw -d -n ProjectName -s ProjectName -u --database-type SQLite --admin-email [email protected] --admin-password "SecurePass1234" -p "uSync,Umbraco.Forms" --auto-run
使用指定版本:
psw -d -n ProjectName -s ProjectName -u --database-type SQLite --admin-email [email protected] --admin-password "SecurePass1234" -p "uSync|18.0.0,Umbraco.Forms|18.0.0" --auto-run
重要
请勿在密码或用户名中使用可转义字符
主要选项
| 标志 | 描述 |
|---|---|
-d, --default | 必需 — 生成完整安装脚本 |
-n, --project-name | 项目名称 |
-s, --solution | 解决方案名称 |
-u, --unattended-defaults | 使用无人值守安装默认值 |
--database-type | SQLite、LocalDb、SQLServer、SQLAzure、SQLCE |
--admin-email | 无人值守安装的管理员电子邮件 |
--admin-password | 无人值守安装的管理员密码 |
--auto-run | 执行生成的脚本 |
-p, --packages | 以逗号分隔的包(例如:"uSync,Umbraco.Forms") |
-t, --template-package | Umbraco 模板,可选版本 |
-da, --delivery-api | 启用 Content Delivery API |
等待 Umbraco 启动
在后台运行命令后,轮询检查是否已就绪:
# Check the output for the port number (e.g., "Now listening on: https://localhost:44356")
# Then poll until ready:
for i in {1..30}; do
if nc -z localhost 44356 2>/dev/null; then
echo "Umbraco is ready!"
break
fi
sleep 2
done
其他命令
psw versions # Show Umbraco versions with support status
psw history list # Show recent scripts
psw history rerun 1 # Re-run script #1
psw --clear-cache # Clear cached API responses
评论
支持 Markdown