怎么用 binstubs 避免输入bundle exec

场景:

以rack为例,假设项目的rack有两个不同的版本(1.6.5, 2.0.1)。

在运行项目时,会默认先加载 2.0.1版本的rack,这个时候依赖1.6.5版本的gem就炸了,比如sinatra。

Then you will see :

! Unable to load application: Gem::ConflictError: Unable to activate sinatra-1.4.8, because rack-2.0.1 conflicts with rack (~> 1.5)

解决方案

  1. 去掉 2.0.1版本的gem,但这样解决不high
$ gem uninstall rack -v 2.0.1
  1. 使用 binstubs
  • 用 bundle install --binstubs 替代 bundle instal
  • 执行后,将会出现一个bin目录
  • 用./bin 的方式启动 (如 ./bin puma -p 8989)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容