#ruby-on-rails #file #path #gem
#ruby-on-rails #файл #путь #rubygems
Вопрос:
Допустим, у меня есть gem, который счастливо живет в:
/MyPath/MyGem.gem
И я хочу использовать локальный и уникальный gem, а не версию gem с Github или откуда бы он ее ни извлекал.
Как мне указать, что я хочу использовать gem "mygem"
из /MyPath/MyGem.gem
Ответ №1:
Попробуйте, в вашем Gemfile
:
gem "mygem", :path => "/MyPath/MyGem.gem"
Обратите внимание, что, вероятно, лучше всего использовать там относительную ссылку, например:
gem "mygem", :path => "vendor/MyPath/MyGem.gem"
Комментарии:
1. У меня не сработало. Он пытается интерпретировать:path как путь к каталогу.
2. Попробуйте удалить
.gem
бит в пути.3. вы должны ссылаться на всю папку, то есть на ту, внутри которой находится .gem.
Ответ №2:
Вы можете сделать это с помощью gem 'gemname', :path => "/your/path/here"
Это очень полезно, когда вы создаете локальные gem-ы для разработки или если у вас есть собственный локальный форк gem.
Ответ №3:
Я сделал это, как сказал Jits, но это не сработало. Похоже, что rails ожидает указать путь к папке вместо пути .gem.
У меня это сработало
gem "mygem", :path => "vendor/gems/mygemfolder/"
Если у вас это работает, но вы не можете выполнить развертывание в heroku (как это случилось со мной), вам нужно указать версию gem:
gem 'mygem', '= x.x.x', :path => 'vendor/gems/mygemfolder/'