ruby-on-rails – 我应该在系统存储库(全局)还是项目供应商/软件
我在
Windows 7上使用
Ruby 2.1和Rails 4.1.每当我运行bundle install时,所有gem都安装在系统路径c:/Ruby21/lib/ruby/gems/2.1.0/gems/中.我还在项目中找到了vendor目录.
从PHP composer和node.js npm背景开始,所有依赖项应本地安装在项目供应商文件夹或node_modules文件夹中.所以,我的问题是: >我应该在系统路径或供应商/捆绑中安装gem吗? 解决方法
运行bundle install时,您使用的是名为
Bundler的工具.
> Bundler以与Composer类似的方式管理您的依赖项,但它不是在项目文件夹中安装所有内容,而是在系统范围内安装您的所有项目共享的gem.它通过使用项目文件夹中的Gemfile来跟踪哪个项目需要哪些库.所以,你应该让Bundler做它的事情,它做得很好,并且是Rails的标准包管理器.
这篇文章的作者只发生过一次,我认为Bundler没有错.在任何情况下,你应该总是在bundle exec之前添加gem命令(如在bundle exec rspec中),你将永远不会遇到上述问题. bundle exec确保当你从gem执行命令时,调用Gemfile中定义的正确版本,如果你的系统中安装了同一个gem的多个版本,这一点很重要. 几年前当RVM受欢迎时,gemsets实现了类似的目标,但在rbenv和Bundler之前大部分都被弃用了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |