rails知识

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'
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容