2010-02-19 2 views
2

Я только что сделал первый выпуск рубинового предприятия, установил некоторые драгоценные камни, и теперь я пытаюсь сделать
'sudo ./rake gems: install' и получить :Впервые установлены рельсы, помощь с драгоценными камнями/граблими

rake aborted!
No Rakefile не найден

ошибка. Во-первых, с каким каталогом я должен это делать?

Вот шаги, я затем:
загрузить рубин предприятие из http://www.rubyenterpriseedition.com/download.html Wget http://rubyforge.org/frs/download.php/68719/ruby-enterprise-1.8.7-2010.01.tar.gz

./ruby-enterprise-XXX/installer

/opt/ruby-enterprise-1.8.7 -2010,01/бен/камень установить MySQL

пер -s /opt/ruby-enterprise-1.8.7-2010.01/bin/gem/USR/бен/камень
пер -s /opt/ruby-enterprise-1.8 .7-2010.01/bin/rake/usr/bin/rake

и я установил несколько драгоценных камней

Я нашел соответствующий каталог (я думаю), и я все еще получаю ошибки. Вот копия рейка с --trace:

[email protected]:~/myApp.com-ror$ rake --trace gems:install 
(in /home/dan/myApp.com-ror)      
** Invoke gems:install (first_time)     
** Invoke gems:base (first_time)      
** Execute gems:base         
** Invoke environment (first_time)     
** Execute environment        
rake aborted!           
No such file or directory - /home/dan/myApp.com-ror/config/database.yml              
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:902:in  `read'         
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:902:in `database_configuration'     
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:437:in `initialize_database'     
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:141:in `process'        
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `send'         
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `run'         
/home/dan/songness.com-ror/config/environment.rb:14    
/home/dan/Languages/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'      
/home/dan/Languages/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'          
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'  
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:521:in `new_constants_in'                
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'  
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/tasks/misc.rake:4            
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call'           
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute'          
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each'           
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute'          
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain'       
/home/dan/Languages/ruby/lib/ruby/1.8/monitor.rb:242:in `synchronize'               
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'       
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'           
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/tasks/gems.rake:17            
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call'           
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute'          
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each'           
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute'          
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain'       
/home/dan/Languages/ruby/lib/ruby/1.8/monitor.rb:242:in `synchronize'               
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'       
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:607:in `invoke_prerequisites'       
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in `each'           
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in `invoke_prerequisites'       
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:596:in `invoke_with_call_chain'       
/home/dan/Languages/ruby/lib/ruby/1.8/monitor.rb:242:in `synchronize'               
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'       
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'           
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task'         
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'          
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each' 
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level' 
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling' 
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level' 
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run' 
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling' 
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run' 
/home/dan/Languages/ruby/lib/ruby/gems/1.8/gems/rake-0.8.7/bin/rake:31 
/usr/bin/rake:19:in `load' 
/usr/bin/rake:19 

И что должно выглядеть database.yml?

+0

Убедитесь, что вы находитесь в корневом каталоге Rails. – jpemberthy

+0

см. Комментарий к Teja Kantamneni – danwoods

ответ

0

Если вы не установили свой путь правильно, вам необходимо запустить его из каталога rails.

4

rake gems:install предназначено для установки драгоценных камней для вашего приложения. Вы должны запустить это в корневом каталоге приложения. Для установки драгоценных камней на вашем компьютере используйте gem install.

+0

Что такое мой корневой каталог приложения? что-то вроде ruby ​​/ bin? или рубин/бен/драгоценные камни? – danwoods

+0

ни один корневой каталог приложений не является корневым корневым приложением, когда вы создаете такое приложение, как rails myapp. Rails создаст каталог/папку под названием myapp, где будет добавлен весь исходный код, необходимый для приложения. Это ваш корневой каталог приложения –

+0

Я настраиваю среду разработки и еще не начал работать с любыми приложениями. Как мне сделать «грабли»: установить без приложения? – danwoods

0

Ok Я посмотрел в документы

$ /opt/ruby-enterprise-X.X.X/bin/gem install rails

в вашем случае означает просто:

gem install rails 

Когда вы упомянули 'SUDO ./rake драгоценные камни: установить', что вы пытались достигать?

После установки рельсов сделать:

rails myproject 

И там вы идете.

+0

Но я еще не начинал проекты. Я следую инструкциям по настройке среды разработки ... – danwoods

+0

Вы пробовали? sudo gem install rails Есть ошибки? – pdjota

+0

См. Отредактированный оригинальный пост ... – danwoods

0

Предположив вы не используете Bundler или не может (из-за вашего рубин/рельсы версия) ...


Ниже я хочу избежать SUDO PREPEND потому что RoR нет дольше единственной области пользователей Linux. Пользователям Windows, использующим gitbash в качестве нашей консоли низкого уровня для администрирования наших приложений Rails в локальной среде разработки, не потребуется sudo, а также не будет работать в нашей среде разработки. FTR, если вы не знаете, что такое sudo, это означает «суперпользователь», оставшийся от unix и так неотъемлемая часть Linux-языка.Если вам нужно что-то делать в Linux, требующем привилегий, вам, вероятно, понадобится sudo, чтобы получить эти права (или вам нужно назначить для себя прямой статус суперпользователя для определенных действий ... иногда sudo недостаточно!). Если вам нужна привилегия в Windows, вы, вероятно, уже вошли в Windows с правами администратора. В любом случае, если вы новичок в Ruby on Rails и не согласны с этим термином, просто игнорируйте его пока. Вам не нужно, хотя вы, вероятно, в какой-то момент, когда вы начинаете взаимодействовать с хостинг-услуг, которые часто работают в рамках Linux ...


Во всяком случае, возвращаясь к этому вопросу на руку. ..

gem install (некоторое название драгоценного камня) (например: gem install tinyMCE) устанавливает копию в локальную среду разработки Ruby. То есть, подумайте об этом как об установке компонента библиотеки, который вы можете позвонить позже. В общем, он ничего не делает для нашего приложения сам по себе.

Но если вы хотите использовать драгоценный камень (второй улучшающий исходный код, например: tinyMCE, популярный редактор расширенного текстового редактора), то камень нужно будет установить непосредственно в ваше приложение или сказать другим способом, вам нужно будет привязать переносимую копию к приложению ПОСЛЕ установки его в среду разработки rails, изменив существующее приложение или создав новое.

Если вы все еще озадачен, предположим, я говорю, что этот путь

создать приложение типа «My_special_blog». Действие Rails My_special_blog создает базовую сантехнику, но она не записывает контент и не устанавливает автоматическую установку tinyMCE, поэтому вы можете использовать его, даже если вы можете установить его в свою систему разработки (используя gem install tinyMCE), т. е. ваша установка RUBY. Драгоценные камни - это простой способ добавить функциональность, как вышеупомянутый редактор богатого текста.

И это именно то, что грабли: драгоценные камни устанавливаются. Он использует файл environment.rb вашего приложения (в подкаталоге My_special_blog/config), чтобы определить, какие камни нужны для использования приложением, затем он устанавливает их в приложение (буквально в подкаталогах из каталога My_special_blog/vendors из локальная среда разработки

Важно то, что когда вы запускаете rake: gems install, вам нужно сделать это из «корня» вашего приложения, то есть из каталога My_special_blog. Не каталог ruby, а не My_special_blog/config, просто My_special_blog (в качестве примера имени приложения)

Как лидер для вас, чтобы немного поработать в Google ... Версия и местоположение источника могут быть указаны в файле environment.rb config.gem инструкции, которые определяют, какие камни вы собираетесь использовать.

Надеется, что это поможет кому-то, кто любит меня, часто путают скупых ответы, которые могут себе позволить один уже эксперта достаточно того, что этот вопрос не был бы спросили в первую очередь ...


Если вы смотрите на environment.rb, у него должна быть запись вроде этого

Rails :: Инициализатор.run do | config |

конец

это в том, что вы инициализаторе место утверждения камень конфигурации. Например, предположим, вы хотели добавить драгоценный камень для оформления, и вам нужен 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 

без этих заявлений, грабли: драгоценные камни установки не будет загружать локальные копии этих драгоценных камней в папку поставщика/драгоценные камни вашего приложения.

+0

Dan, вы не можете установить переносимые драгоценные камни локально, если они не были вызваны в среде.rb, так как нет ничего, что скажет, какие камни используют приложение , Erm, то есть вы не можете установить их в папку проекта (поставщик/драгоценные камни), если они не вызваны в environment.rb ... – Andrew

Смежные вопросы