Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 您的Gemfile中宝石的顺序是否会有所不同?_Ruby On Rails_Ruby_Gemfile - Fatal编程技术网

Ruby on rails 您的Gemfile中宝石的顺序是否会有所不同?

Ruby on rails 您的Gemfile中宝石的顺序是否会有所不同?,ruby-on-rails,ruby,gemfile,Ruby On Rails,Ruby,Gemfile,您列出宝石的顺序重要吗?这两个街区相等吗 gem 'carrierwave' gem 'rmagick' 及 Bundler不会按照您列出gem依赖项的顺序*加载gem依赖项,但它会使用以下条件按源优先级加载: 显式路径或git选项附加到gem依赖项,例如: gem 'some-gem', github: 'somebody/some-gem' 显式定义的gem依赖项是其他gem依赖项隐式要求的,即gem'actionmailer'gem是gem'rails'隐式要求的 如果您添加了多个源

您列出宝石的顺序重要吗?这两个街区相等吗

gem 'carrierwave'
gem 'rmagick'

Bundler不会按照您列出gem依赖项的顺序*加载gem依赖项,但它会使用以下条件按源优先级加载:

  • 显式路径或git选项附加到gem依赖项,例如:

    gem 'some-gem', github: 'somebody/some-gem'
    
  • 显式定义的gem依赖项是其他gem依赖项隐式要求的,即
    gem'actionmailer'
    gem是
    gem'rails'隐式要求的

  • 如果您添加了多个源,它将从最后一个搜索到第一个


  • *
    编辑:根据马特的回答,取决于你正在尝试做什么(或者你正在加载什么宝石),顺序可能会起作用。请参阅。

    当您使用
    Bundle.require时(Rails是这样做的),gem需要按照它们在gem文件中出现的顺序排列。在中国,情况并不总是这样,但是


    由于Carrierwave在需要时明确要求RMagick,我认为这在您的情况下并不重要;但严格来说,这两个块并不相等。

    好吧,这只是一个冗长的评论,但CarrierWave没有正确地将图像url写入模型。我将删除所有内容并重新开始。如果不行,我会提供更多信息。您是否使用
    fog
    存储?文件存储不应该存储url,而是存储文件名。url是根据配置生成的。我使用的是
    fog
    。事实上,那时一切都坏了。但是
    object.image=>nil
    无论如何,没有保存任何内容。你说的是gem检查源的顺序,但我相信问题是gem文件中gem语句的顺序是否重要——我相信答案是肯定的。
    gem 'some-gem', github: 'somebody/some-gem'