我为Sinatra项目安装了data_mapper.奇怪的是,为什么当我做gem install brew
,我可以$ which brew
,并获得其位置的路径,而不能为数据映射器?这适用于某些Ruby ,而不适用于其他Ruby .
如何验证gem是否正确安装?判断版本是否能确保正确下载gem?
我为Sinatra项目安装了data_mapper.奇怪的是,为什么当我做gem install brew
,我可以$ which brew
,并获得其位置的路径,而不能为数据映射器?这适用于某些Ruby ,而不适用于其他Ruby .
如何验证gem是否正确安装?判断版本是否能确保正确下载gem?
General solution
要获取已安装gem的完整列表,请执行以下操作:
gem list
要测试特定的gem,可以将-i
与正则表达式一起使用:
gem list -i "^gem_name$"
(这项技术的 comments 要归功于蒂莫.)
Particular solution for OP
如果找不到data_mapper,可能是gem的名称与您期望的不同.
此外,如果你只是用which brew
来查找brew,你没有找到名为brew的gem,而是找到了brew可执行文件的位置.试试gem which brew
.
EDIT:
如果你想用which data_mapper
来寻找数据映射器,你可能找不到.which
是一个用于查找unix可执行文件的unix程序,data_mapper可能没有.
因为您的目标是验证gem是否安装了正确的版本,所以请使用gem list
.你可以使用gem list data_mapper
来限制特定的Ruby .
要验证它是否已安装and working,您必须try 将gem设置为require
,然后在代码中使用它.