上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.8 组件管理工具
很多开发语言/环境都会提供配套的包管理工具,例如npm/Node.js、cpan/Perl、gem/Ruby等,它们可以方便地安装功能组件,辅助用户的开发工作,节约用户的时间和精力。OpenResty也有功能类似的工具,名字叫opm。
OpenResty维护一个官方组件库(opm.openresty.org), opm就是库的客户端,可以把组件库里的组件下载到本地,并管理本地的组件列表。
opm的用法很简单,常用的命令有:
■ search :以关键字检索相关的组件; ■ get :安装功能组件(注意不是install); ■ info :显示已安装组件的详细信息;
■ list :列出所有本地已经安装的组件; ■ upgrade :更新某个已安装组件; ■ update :更新所有已安装组件; ■ remove :移除某个已安装组件。
opm默认的操作目录是“/usr/local/openresty/site”,但我们也可以在命令前使用参数“--install-dir=PATH”安装到其他目录,或者用参数“--cwd”安装到当前目录的“./resty_modules/”目录里。
下面的命令示范了opm的部分用法:
opm search http #搜索关键字http opm search kafka #搜索关键字kafka opm get agentzh/lua-resty-http #安装组件,注意需要sudo opm info agentzh/lua-resty-http #显示组件的版本、作者等信息 opm remove agentzh/lua-resty-http #移除组件,同样需要sudo opm --install-dir=/opt get xxx #把组件安装到/opt目录下 opm --cwd get xxx #安装到当前目录的/resty_modules下
需要注意的是opm里组件的名字,使用的是类似GitHub的格式,即“作者名/组件名”,允许一个组件有多个不同的作者和版本,方便组件开发者“百家争鸣”,由用户来评估决定使用哪一个。
由于opm在OpenResty里出现的较晚(2016年),目前库里可用的组件还不多,希望假以时日能够丰富壮大。