如何在Lua中处理require依赖不存在的问题

如果像下面这样引入packer,并且packer还没有安装,那是会报错的

1
local packer = require('packer')

这时可以借助pcall函数,这样就可以区分是否require成功了,返回结果有两个值,第一个是Boolean,后面一个如果成功返回对象,如果失败返回nil

1
2
3
4
5
local require_packer_succeed, packer = pcall(require, "packer")

if require_packer_succeed then
return packer.startup(packer_startup)
end

References