Предполагается, что вы не используете bundler или не можете (из-за версии ruby / rails) ...
Ниже я избегаю предоплаты sudo , потому что RoR больше не является единственной сферой пользователей Linux. Пользователям Windows, использующим gitbash в качестве нашей низкоуровневой консоли для администрирования наших приложений Rails в локальной среде разработки, не потребуется sudo , и она не будет работать в нашей среде разработки. FTR, если вы не знаете, что такое sudo, это означает «супер пользователь делает», остаток от unix и, таким образом, неотъемлемую часть жаргона linux. Если вам нужно делать в Linux то, что требует привилегий, вам, вероятно, понадобится sudo для получения этих прав (или вам нужно будет назначить себе статус прямого суперпользователя для определенных действий .... иногда sudo недостаточно! ). Если вам нужны привилегии в Windows, вы, вероятно, уже вошли в Windows с административными правами. В любом случае, если вы новичок в Ruby on Rails и запутались в этом термине, просто проигнорируйте его сейчас. Вам это не нужно, хотя, вероятно, в какой-то момент вы начнете взаимодействовать со службами хостинга, которые часто работают в среде linux ...
Во всяком случае, возвращаясь к вопросу под рукой ...
gem install (некоторое название gem) (например: gem install tinyMCE) устанавливает копию в вашу локальную среду разработки Ruby. То есть думайте об этом как об установке библиотечного компонента, к которому вы можете обратиться позже. В общем, оно ничего не делает для нашего приложения самостоятельно.
Но если вы хотите использовать гем (второй пакет улучшений исходного кода, например: tinyMCE, популярное расширение для расширенного текстового редактора), тогда гем нужно будет установить непосредственно в ваше приложение, или, по-другому, вам придется необходимо привязать переносимую копию к приложению ПОСЛЕ установки его в среду разработки rails, будь то изменение существующего приложения или создание нового.
Если вы все еще озадачены, предположим, я так говорю
вы создаете приложение типа "My_special_blog". Действие Rails My_special_blog создает базовую систему слежения, но не записывает содержимое и не устанавливает автоматически tinyMCE, чтобы вы могли использовать его, даже если вы установили его в свою систему разработки (используя gem install tinyMCE ), т. Е. Ваша установка RUBY. Драгоценные камни - это простой способ добавления функциональности, такой как вышеупомянутый текстовый редактор
И это именно то, что rake: gems install делает. Он использует файл environment.rb вашего приложения (в подкаталоге My_special_blog / config btw), чтобы определить, какие драгоценные камни нужны приложению, а затем устанавливает их в приложение (буквально, в подкаталогах из My_special_blog Каталог / vendors из локальной среды разработки.
Важно то, что когда вы запускаете rake: gems install, вы должны делать это из «корня» вашего приложения, то есть из каталога My_special_blog. Не каталог ruby, не My_special_blog / config, а просто My_special_blog (как пример приложения)
Как лидер для того, чтобы вы немного погуглили ... Версия и местоположение источника могут быть указаны в инструкциях environment.rb config.gem , которые определяют, какие гемы вы собираетесь использовать.
Надеюсь, что это помогает кому-то, кто, как и я, часто смущается краткими ответами, которые предполагают, что кто-то уже достаточно опытен, чтобы вопрос вообще не задавался ...
Если вы посмотрите на environment.rb, там должна быть запись, подобная этой
Rails :: Initializer.run do | config |
конец
внутри инициализатора вы помещаете операторы конфигурации gem. Например, предположим, что вы хотели добавить гем очистки, и вам нужен был v0.5.3, и этот гем был расположен на gems.github.com ... и вы также хотели, чтобы mislav-paginate, синтаксис мог выглядеть примерно так:
Rails::Initializer.run do |config|
config.gem "thoughtbot-clearance",
:lib => 'clearance',
:source => 'http://gems.github.com',
:version => '0.5.3'
config 'mislav-will_paginate',
:version => '~> 2.3.8',
:lib => 'will_paginate',
:source => 'http://gems.github.com'
end
без этих операторов rake: gems install не будет загружать локальные копии этих драгоценных камней в папку vendor / gems вашего приложения.