【问题标题】:Ruby on rails 5; How to stop installing gem related files when I bundle installRuby on rails 5;捆绑安装时如何停止安装gem相关文件
【发布时间】:2017-09-20 15:03:07
【问题描述】:

我正在使用 ruby​​ on rails 5 制作聊天应用程序。
我尝试在我的应用中实现图像发送功能。
我按照以下博客的说明进行操作。(对不起,日语)

http://yamakichi.hatenablog.com/entry/2017/01/18/232856

1) 在 gems 下捆绑安装

    gem "carrierwave"    
    gem "piet"    
    gem "mini_magick"  

2) 创建上传者

但它没有用。
删除后,我通过捆绑上传删除了 gem "piet"。

此时,我意识到安装了大约 8000 个未知文件。

以下是安装的文件名示例。

vendor/bundle/ruby/2.3.0/bin/rake  
vendor/bundle/ruby/2.3.0/cache/concurrent-ruby-1.0.5.gem  
vendor/bundle/ruby/2.3.0/gems/concurrent-ruby-1.0.5/lib/concurrent/hash.rb  
....

所有文件都以"vendor/bundle/ruby/2.3.0".开头

如果我删除这个"vendor/bundle/ruby/2.3.0" 文件,我可以删除所有不必要的文件。

但是接下来,我无法打开本地服务器。

它说,

“在任何来源中都找不到 rake-12.1.0”
“运行bundle install 来安装丢失的宝石。”

如果我捆绑安装,这个 8000 文件会再次安装。

如何避免这个问题?

【问题讨论】:

    标签: ruby-on-rails rubygems ruby-on-rails-5


    【解决方案1】:

    gem piet 可能是 Rails 项目中另一个 gem 的依赖项。如有疑问,您可以删除Gemfile.lock 的副本并再次运行bundle。它将自动生成具有正确依赖关系的新副本。

    如果您正在处理 Rails 项目,安装大约 8,000 个文件是完全正常的,因为 Rails 本身依赖于相当多的 gem。

    减少 bundler 安装的文件数量的一种方法是跳过每个 gem 中的文档。这可以通过将其添加到本地 ~/.gemrc 文件来完成

    gem: --no-document
    

    【讨论】:

    • 我的导师跟我说的一模一样。安装约 8000 个文件是正常的。所以我 gitignored 这些文件。感谢您回答我的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-08
    • 1970-01-01
    相关资源
    最近更新 更多