美文网首页
rails知识

rails知识

作者: Jayzen | 来源:发表于2016-07-12 16:13 被阅读33次

    1.为什么在很多命令前要加上bundle exec
    2.gemfile中指定版本

    1.为什么在很多命令前要加上bundle exec
    自己在执行命令的时候,一般都是rails db:migrate,发现和bundle exec rails db:migrate的执行效果差不多,但是经常还是会出现如下的问题:

    You have already activated rake 10.3.1, but your Gemfile requires rake 10.1.0
    

    执行rails db:migrate会出现如上的问题,而加了bundle exec则会解决,原因是加了bundle exec则是表明系统的gem安装要按照gemfile和gemfile.lock执行的版本安装和执行,而系统中其实gem有很多版本,可以通过gem install xx的形式安装,如果只是执行rails db:migrate,会触发最新安装的版本,与gemfile或者gemfile.lock中指定的版本冲突。

    2.gemfile中指定版本

    #精确到某个版本
    gem 'uglifier', '1.3.0'
    #大于或者等于该版本,即是始终安装最新版本
    gem 'uglifier', '>= 1.3.0'
    #只能安装补丁号,安装版本号大于4.0.0,但小于4.1 的coffee-rails。
    gem 'coffee-rails', '~> 4.0.0'
    

    相关文章

      网友评论

          本文标题:rails知识

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