Последняя версия гема не устанавливается
Если вы посмотрите на жемчужину facebookbusiness, вы заметите, что в настоящее время последняя версия 0.4.0.1
Однако работает gem install 'facebookbusiness'
дает: успешно установлен facebookbusiness-0.3.3.4
1 гем установлен
Попытка указать версию в файле gem с gem 'facebookbusiness', '~> 0.4.0.1'
результаты в Could not find gem 'facebookbusiness (~> 0.4.0.1)' in any of the gem sources listed in your Gemfile.
Когда я печатаю gem env
Я получил:
RubyGems Environment:
- RUBYGEMS VERSION: 3.0.4
- RUBY VERSION: 2.5.1 (2018-03-29 patchlevel 57) [x86_64-darwin17]
- INSTALLATION DIRECTORY: /Users/me/.rvm/gems/ruby-2.5.1@rails
- USER INSTALLATION DIRECTORY: /Users/me/.gem/ruby/2.5.0
- RUBY EXECUTABLE: /Users/me/.rvm/rubies/ruby-2.5.1/bin/ruby
- GIT EXECUTABLE: /usr/bin/git
- EXECUTABLE DIRECTORY: /Users/me/.rvm/gems/ruby-2.5.1@rails/bin
- SPEC CACHE DIRECTORY: /Users/me/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /Users/me/.rvm/rubies/ruby-2.5.1/etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-17
- GEM PATHS:
- /Users/me/.rvm/gems/ruby-2.5.1@rails
- /Users/me/.rvm/rubies/ruby-2.5.1/lib/ruby/gems/2.5.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- "gem" => "--no-document"
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /usr/local/bin
- /usr/local/sbin
- ~/bin
- /Users/me/.npm-packages/bin
- /Users/me/.rvm/gems/ruby-2.5.1@rails/bin
- /Users/me/.rvm/gems/ruby-2.5.1@global/bin
- /Users/me/.rvm/rubies/ruby-2.5.1/bin
- /Users/me/.rvm/bin
- /usr/local/bin
- /usr/bin
- /bin
- /usr/sbin
- /sbin
- /usr/local/go/bin
- /opt/X11/bin
- /usr/local/bin
Есть идеи, что происходит?
2 ответа
gem install
тянет опубликованный драгоценный камень от rubygems.org. Тот факт, что разработчик поместил более новую версию в свой репозиторий git, не означает, что они также опубликовали более новую версию гема на rubygems.
В этом случае именно это и произошло. Последнюю опубликованную версию на rubygems можно посмотреть здесь: https://rubygems.org/gems/facebookbusiness/
Может случиться так, что версия в их git-хранилище не стабильна или не готова к выпуску по какой-то другой причине, например, документация к ней не готова, или API, на которые она опирается, еще не являются общедоступными, или проходит проверку безопасности перед публикацией или по любой другой причине, о которой вы можете подумать. Если вы все равно хотите его использовать, это довольно просто сделать в вашем Gemfile:
gem 'facebookbusiness', git: 'git@github.com:facebook/facebook-ruby-business-sdk'
Тогда беги bundle install
вытащить драгоценный камень прямо из GitHub.
http://
а также git://
URL-адреса небезопасны. Злоумышленник может посягнуть на код во время его проверки и потенциально предоставить вам вредоносный код вместо кода, который вы хотели проверить. Поскольку :github
ярлык использует git://
URL в Bundler 1.x
версии, мы рекомендуем использовать HTTPS
URL или переопределение :github
ярлык с вашим собственным HTTPS
мерзавец источник.
Не очень хороший способ добавить гем в ваш Gemfile
gem 'facebookbusiness', git: 'git@github.com:facebook/facebook-ruby-business-sdk'
Хороший способ добавить драгоценный камень в ваш Gemfile
gem 'facebookbusiness', github: 'facebook/facebook-ruby-business-sdk'
Лучший способ добавить gem в ваш Gemfile с помощью ветки
gem 'facebookbusiness', github: 'facebook/facebook-ruby-business-sdk', branch: 'branch_name'
или же
gem 'facebookbusiness', github: 'facebook/facebook-ruby-business-sdk', ref: 'ref_number'
или же
gem 'facebookbusiness', github: 'facebook/facebook-ruby-business-sdk', tag: 'tag_number'
С точки зрения безопасности и предотвращения будущих сбоев не принимайте master
номер отдела.
Я надеюсь, что это полезно.