我为Sinatra项目安装了data_mapper。好奇,为什么当我做gem install brew
,我可以$ which brew
并得到它的位置的路径,不能为data_mapper?这适用于一些宝石,并不适用于其他宝石。如何检查是否安装了宝石?
如何验证宝石是否正确安装?将检查版本确保宝石是否正确下载?
我为Sinatra项目安装了data_mapper。好奇,为什么当我做gem install brew
,我可以$ which brew
并得到它的位置的路径,不能为data_mapper?这适用于一些宝石,并不适用于其他宝石。如何检查是否安装了宝石?
如何验证宝石是否正确安装?将检查版本确保宝石是否正确下载?
通用的解决方案
尝试gem list
得到安装的宝石的名单。
要测试一个特定的宝石,你可以使用-i
与正则表达式:gem list -i "^gem_name$"
。 (感谢蒂莫在这种技术的意见。)为OP
如果你不能找到data_mapper
具体的解决方案,这可能是因为创业板的名字是与预期的不同。
另外,如果您只是在做which brew
来查找brew,那么您没有找到名为brew的gem,您正在查找brew可执行文件的位置。改为尝试gem which brew
。
编辑:
如果你正在做which data_mapper
寻找data_mapper,你可能不会发现它。 which
是一个用于查找unix可执行文件的unix程序,data_mapper可能没有。
由于您的目标是验证是否安装了正确版本的gem,请使用gem list
。您可以通过使用gem list data_mapper
来限制特定的宝石。
要验证它的安装和工作,你必须尝试require
的宝石,然后在你的代码中使用它。
'gem list'显示我有data_mapper。 'gem哪个brew'找到可执行文件?它看起来像一个.rb文件 – andy4thehuynh
'gem which somegemname'显示的路径(我认为)当您执行'require'somegemname''时加载的文件。一般来说,宝石没有像你通过常规unix发现的程序那样有'可执行文件'。 –
如果你要使用的支票在脚本中,这给出了一个更好的输出(true或false)和相应的退出码:
gem list -i <gem_name>
或者添加版本选项:
gem list -i <gem_name> -v version
你可以试试这个http://stackoverflow.com/a/32986687/3728916 – ImranNaqvi