美文网首页
怎么用 binstubs 避免输入bundle exec

怎么用 binstubs 避免输入bundle exec

作者: 就这个皂倍儿爽 | 来源:发表于2017-04-21 15:14 被阅读0次

    场景:

    以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)

    相关文章

      网友评论

          本文标题:怎么用 binstubs 避免输入bundle exec

          本文链接:https://www.haomeiwen.com/subject/ofpdzttx.html