app包管理是ecos的一大亮点, 不管app包是来自官方的app store, 或者从其他渠道获得的app, 或者自建的app, app包管理器都能方便的进行管理. app store目前尚未上线, 仅支持手动部署的方式
手动部署:将需要安装的APP或升级的APP放到Ecos系统目录下的app目录里
补充知识: app store 官方的app中心, 包含官方提供的各种类型的应用程序.
目前包管理器被整合在ecos的命令行工具中, 尚未有独立命令.
安装或升级单个app, 或者多个app.
./cmd install app_name1 app_name2
有些时候需要以无交互方式进行自动化安装, 这时候可以用-o参数, 把所有安装过程中的所需要安装的app在task.php里install_options函数内所定义的必选参数带进去
./cmd install base -o "base[db_host]=localhost&base[db_user]=root&base[db_password]=&base[db_name]=ecos2"
补充知识: cmd help -v 可以看到详细的命令参数 详细可查看[命令行工具 https://blog.i7f.cn/advance/base/cmd.html]
参数:
install 安装应用 --reset / -r 重新安装, 强制重新安装, 而不管是否app是否已经安装 --options / -o [1] 参数, 为自动化安装服务
卸载单个APP, 保留其全部已经安装的依赖关系. 如果有APP依赖要被卸载的App, 则会提示错误
./cmd uninstall base
删除指定APP,及其所有依赖此APP的其他APP
./cmd uninstall -r base
参数:
uninstall 卸载应用 --recursive / -r 递归删除依赖之app
更新单个或多个APP, 目前APP更新不会按照依赖关系进行更新
./cmd update b2c base更新所有的APP
./cmd update安装参数:
update 升级应用程序 --sync 升级应用程序信息库. 功能暂时不提供 --sync-only 仅升级应用程序信息库. 功能暂时不提供 --force-download 强制下载. 功能暂时不提供 --download-only 仅下载应用. 功能暂时不提供 --ignore-download 忽略下载. 功能暂时不提供 --force-update-db 强制更新数据库表. 通常如果数据库定义文件(dbschema)没有更改, 则不会将数据库定义文件导入到数据库生成表 --force-update-app 强制更新应用程序. 通常如果将安装版本比已安装版本低, 系统只会更新此app的资源文件而不会执行此app的更新回调函数
暂停和卸载的区别在于, 卸载会将所有app的数据都删除并且不可逆, 而暂停会保留所有中间数据.
暂停单个或多个APP, 如果被其他APP所依赖则会提示用-r参数
./cmd pause desktop
参数:
pause 暂停应用 --recursive / -r 递归删除依赖之app
当APP处于暂停状态时, 可以将它重新启用
启用单个或多个APP
./cmd active desktop
参数:
active 开启应用 --recursive / -r 递归启用依赖之app