Могу ли я использовать старое содержимое файла Gemlock в качестве нового файла Gemlock? - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть старое приложение ROR, которое работает на Ruby 1.9.3, Rails 4.2.4 и MongoDB 3.0.Мне нужно переместить его в Ruby 2.2.2, Rails 4.5 и MongoDB 3.2.

Я взял на себя этот проект, поэтому код в настоящее время выполняется на хостинге.Я скачал исходный код.Тем не менее, я хотел создать простое приложение скаффолда локально на моей машине с файлом Gem из проекта, который требует обновления.Во-первых, в файле gem проекта нет конкретных версий gem, поэтому, если я пытаюсь использовать bundler, он пытается получить все более новые версии gem.Файл Gemlock проекта содержит номера используемых версий.

Мой вопрос: могу ли я использовать содержимое файла gemlock (копировать + вставить) в мой локальный файл Gem, а затем запустить упаковщик.Будет ли это работать должным образом, то есть будет ли он получать нужные драгоценные камни (версии, используемые на рабочем сервере)?Я понимаю, что некоторые из этих версий гемов могли быть удалены.Думая, я просто комментирую их из файла gem, затем запускаю bundle install, пока он не заработает.

    GIT
  remote: https://github.com/stripe/stripe-ruby
  revision: df2e36287d88726c6a03ec6c1fdc19b5d6e2b274
  specs:
    stripe (1.27.2)
      json (~> 1.8.1)
      rest-client (~> 1.4)

PATH
  remote: ./vendor/plugins/mongoid-encrypted-fields-1.2.2
  specs:
    mongoid-encrypted-fields (1.2.2)
      mongoid

GEM
  remote: https://rubygems.org/
  specs:
    actionmailer (4.2.4)
      actionpack (= 4.2.4)
      actionview (= 4.2.4)
      activejob (= 4.2.4)
      mail (~> 2.5, >= 2.5.4)
      rails-dom-testing (~> 1.0, >= 1.0.5)
    actionpack (4.2.4)
      actionview (= 4.2.4)
      activesupport (= 4.2.4)
      rack (~> 1.6)
      rack-test (~> 0.6.2)
      rails-dom-testing (~> 1.0, >= 1.0.5)
      rails-html-sanitizer (~> 1.0, >= 1.0.2)
    actionview (4.2.4)
      activesupport (= 4.2.4)
      builder (~> 3.1)
      erubis (~> 2.7.0)
      rails-dom-testing (~> 1.0, >= 1.0.5)
      rails-html-sanitizer (~> 1.0, >= 1.0.2)
    activejob (4.2.4)
      activesupport (= 4.2.4)
      globalid (>= 0.3.0)
    activemodel (4.2.4)
      activesupport (= 4.2.4)
      builder (~> 3.1)
    activerecord (4.2.4)
      activemodel (= 4.2.4)
      activesupport (= 4.2.4)
      arel (~> 6.0)
    activesupport (4.2.4)
      i18n (~> 0.7)
      json (~> 1.7, >= 1.7.7)
      minitest (~> 5.1)
      thread_safe (~> 0.3, >= 0.3.4)
      tzinfo (~> 1.1)
    addressable (2.3.8)
    aescrypt (1.0.0)
    arel (6.0.3)
    aws-sdk (1.66.0)
      aws-sdk-v1 (= 1.66.0)
    aws-sdk-v1 (1.66.0)
      json (~> 1.4)
      nokogiri (>= 1.4.4)
    axiom-types (0.1.1)
      descendants_tracker (~> 0.0.4)
      ice_nine (~> 0.11.0)
      thread_safe (~> 0.3, >= 0.3.1)
    bcrypt (3.1.10)
    bson (3.2.4)
    bson_ext (1.5.1)
    builder (3.2.2)
    chronic (0.10.2)
    coercible (1.0.0)
      descendants_tracker (~> 0.0.1)
    columnize (0.9.0)
    commander (4.3.5)
      highline (~> 1.7.2)
    daemons (1.2.3)
    debugger (1.6.8)
      columnize (>= 0.3.1)
      debugger-linecache (~> 1.2.0)
      debugger-ruby_core_source (~> 1.3.5)
    debugger-linecache (1.2.0)
    debugger-ruby_core_source (1.3.8)
    descendants_tracker (0.0.4)
      thread_safe (~> 0.3, >= 0.3.1)
    devise (3.5.2)
      bcrypt (~> 3.0)
      orm_adapter (~> 0.1)
      railties (>= 3.2.6, < 5)
      responders
      thread_safe (~> 0.1)
      warden (~> 1.2.3)
    domain_name (0.5.24)
      unf (>= 0.0.5, < 1.0.0)
    equalizer (0.0.11)
    erubis (2.7.0)
    ethon (0.8.0)
      ffi (>= 1.3.0)
    eventmachine (1.0.8)
    excon (0.45.4)
    execjs (2.6.0)
    factory_girl (4.5.0)
      activesupport (>= 3.0.0)
    factory_girl_rails (4.5.0)
      factory_girl (~> 4.5.0)
      railties (>= 3.0.0)
    faraday (0.9.1)
      multipart-post (>= 1.2, < 3)
    ffi (1.9.10)
    gcm (0.1.0)
      httparty
      json
    geocoder (1.2.11)
    gibberish (1.4.0)
    globalid (0.3.6)
      activesupport (>= 4.1.0)
    grape (0.13.0)
      activesupport
      builder
      hashie (>= 2.1.0)
      multi_json (>= 1.3.2)
      multi_xml (>= 0.5.2)
      rack (>= 1.3.0)
      rack-accept
      rack-mount
      virtus (>= 1.0.0)
    hashids (1.0.2)
    hashie (3.4.2)
    highline (1.7.7)
    houston (2.2.3)
      commander (~> 4.1)
      json
    http-cookie (1.0.2)
      domain_name (~> 0.5)
    httparty (0.13.7)
      json (~> 1.8)
      multi_xml (>= 0.5.2)
    i18n (0.7.0)
    ice_nine (0.11.1)
    iron_core (1.0.9)
      rest (>= 3.0.4)
    iron_worker_ng (1.6.6)
      bundler
      iron_core (>= 1.0.6)
      rubyzip (>= 1.0.0)
    jquery-rails (4.0.5)
      rails-dom-testing (~> 1.0)
      railties (>= 4.2.0)
      thor (>= 0.14, < 2.0)
    json (1.8.3)
    jwt (1.5.1)
    kaminari (0.16.3)
      actionpack (>= 3.0.0)
      activesupport (>= 3.0.0)
    libv8 (3.16.14.11)
    loofah (2.0.3)
      nokogiri (>= 1.5.9)
    mail (2.6.3)
      mime-types (>= 1.16, < 3)
    mandrill-api (1.0.53)
      excon (>= 0.16.0, < 1.0)
      json (>= 1.7.7, < 2.0)
    mime-types (2.6.2)
    mimemagic (0.3.1)
    mini_portile (0.6.2)
    minitest (5.8.1)
    mongo (2.1.1)
      bson (~> 3.0)
    mongoid (5.0.0)
      activemodel (~> 4.0)
      mongo (~> 2.1)
      origin (~> 2.1)
      tzinfo (>= 0.3.37)
    multi_json (1.11.2)
    multi_xml (0.5.5)
    multipart-post (2.0.0)
    net-http-persistent (2.9.4)
    netrc (0.10.3)
    newrelic-grape (2.0.0)
      grape
      newrelic_rpm
    newrelic_rpm (3.13.2.302)
    nexmo (3.0.0)
    nokogiri (1.6.6.2)
      mini_portile (~> 0.6.0)
    oauth2 (1.0.0)
      faraday (>= 0.8, < 0.10)
      jwt (~> 1.0)
      multi_json (~> 1.3)
      multi_xml (~> 0.5)
      rack (~> 1.2)
    opentok (2.3.3)
      activesupport (>= 2.0)
      addressable (~> 2.3)
      httparty (~> 0.13.1)
    origin (2.1.1)
    orm_adapter (0.5.0)
    rack (1.6.4)
    rack-accept (0.4.5)
      rack (>= 0.4)
    rack-cors (0.4.0)
    rack-mount (0.8.3)
      rack (>= 1.0.0)
    rack-test (0.6.3)
      rack (>= 1.0)
    rails (4.2.4)
      actionmailer (= 4.2.4)
      actionpack (= 4.2.4)
      actionview (= 4.2.4)
      activejob (= 4.2.4)
      activemodel (= 4.2.4)
      activerecord (= 4.2.4)
      activesupport (= 4.2.4)
      bundler (>= 1.3.0, < 2.0)
      railties (= 4.2.4)
      sprockets-rails
    rails-deprecated_sanitizer (1.0.3)
      activesupport (>= 4.2.0.alpha)
    rails-dom-testing (1.0.7)
      activesupport (>= 4.2.0.beta, < 5.0)
      nokogiri (~> 1.6.0)
      rails-deprecated_sanitizer (>= 1.0.1)
    rails-html-sanitizer (1.0.2)
      loofah (~> 2.0)
    rails_12factor (0.0.3)
      rails_serve_static_assets
      rails_stdout_logging
    rails_serve_static_assets (0.0.4)
    rails_stdout_logging (0.0.4)
    railties (4.2.4)
      actionpack (= 4.2.4)
      activesupport (= 4.2.4)
      rake (>= 0.8.7)
      thor (>= 0.18.1, < 2.0)
    rake (10.4.2)
    ref (2.0.0)
    responders (2.1.0)
      railties (>= 4.2.0, < 5)
    rest (3.0.6)
      net-http-persistent (>= 2.9.1)
      netrc
    rest-client (1.8.0)
      http-cookie (>= 1.0.2, < 2.0)
      mime-types (>= 1.16, < 3.0)
      netrc (~> 0.7)
    rmagick (2.15.4)
    rubyzip (1.1.7)
    sendgrid-ruby (1.1.6)
      faraday (~> 0.9)
      mimemagic
      smtpapi (~> 0.1)
    smtpapi (0.1.0)
    sprockets (3.3.5)
      rack (> 1, < 3)
    sprockets-rails (2.3.3)
      actionpack (>= 3.0)
      activesupport (>= 3.0)
      sprockets (>= 2.8, < 4.0)
    therubyracer (0.12.2)
      libv8 (~> 3.16.14.0)
      ref
    thin (1.6.4)
      daemons (~> 1.0, >= 1.0.9)
      eventmachine (~> 1.0, >= 1.0.4)
      rack (~> 1.0)
    thor (0.19.1)
    thread_safe (0.3.5)
    timecop (0.8.0)
    twilio-ruby (4.4.0)
      builder (>= 2.1.2)
      jwt (~> 1.0)
      multi_json (>= 1.3.0)
    typhoeus (0.8.0)
      ethon (>= 0.8.0)
    tzinfo (1.2.2)
      thread_safe (~> 0.1)
    uglifier (2.7.2)
      execjs (>= 0.3.0)
      json (>= 1.8.0)
    unf (0.1.4)
      unf_ext
    unf_ext (0.0.7.1)
    virtus (1.0.5)
      axiom-types (~> 0.1)
      coercible (~> 1.0)
      descendants_tracker (~> 0.0, >= 0.0.3)
      equalizer (~> 0.0, >= 0.0.9)
    warden (1.2.3)
      rack (>= 1.0)

PLATFORMS
  ruby

DEPENDENCIES
  aescrypt
  aws-sdk (~> 1)
  bson_ext
  chronic
  debugger
  devise
  execjs
  factory_girl_rails
  gcm
  geocoder
  gibberish (~> 1.4.0)
  grape
  hashids
  houston
  iron_worker_ng
  jquery-rails
  kaminari
  mail
  mandrill-api
  mongo
  mongoid (~> 5.0.0)
  mongoid-encrypted-fields!
  newrelic-grape
  newrelic_rpm
  nexmo
  oauth2
  opentok (~> 2.2)
  rack-cors
  rails (~> 4.2.4)
  rails_12factor
  rmagick
  sendgrid-ruby
  stripe!
  therubyracer
  thin
  timecop
  twilio-ruby
  typhoeus
  uglifier

1 Ответ

0 голосов
/ 20 ноября 2018

Вам не нужно беспокоиться о файле Gemfile.lock. Сначала измените версию gem, которую нужно обновить в Gemfile, которая обновит Gemfile.lock после обновления пакета.

Например, измените Gemfile наобновить версию rails

gem 'rails', '4.2.4'

до

gem 'rails', '4.5.0'

И просто bundle update rails это обновит гем rails и его зависимости.

Но вы хотите обновить только rails безего зависимости (не рекомендуется, по крайней мере, для драгоценных камней, таких как Rails)

e.g. bundle update --source rails  

См. обновление пакета команда

PS: вы можете добавить версию ruby ​​(= 2.2.2)в Gemfile, который автоматически переключит версию ruby, если вы используете rvm.

...