#ruby-on-rails #ruby
#ruby-on-rails #ruby
Вопрос:
Я только начинаю ruby on rails. В терминале я ввел «rails new TestApp», и это то, что происходит в терминале:
create
create README
create Rakefile
create config.ru
create .gitignore
create Gemfile
create app
create app/assets/images/rails.png
create app/assets/javascripts/application.js
create app/assets/stylesheets/application.css
create app/controllers/application_controller.rb
create app/helpers/application_helper.rb
create app/mailers
create app/models
create app/views/layouts/application.html.erb
create app/mailers/.gitkeep
create app/models/.gitkeep
create config
create config/routes.rb
create config/application.rb
create config/environment.rb
create config/environments
create config/environments/development.rb
create config/environments/production.rb
create config/environments/test.rb
create config/initializers
create config/initializers/backtrace_silencers.rb
create config/initializers/inflections.rb
create config/initializers/mime_types.rb
create config/initializers/secret_token.rb
create config/initializers/session_store.rb
create config/initializers/wrap_parameters.rb
create config/locales
create config/locales/en.yml
create config/boot.rb
create config/database.yml
create db
create db/seeds.rb
create doc
create doc/README_FOR_APP
create lib
create lib/tasks
create lib/tasks/.gitkeep
create lib/assets
create lib/assets/.gitkeep
create log
create log/.gitkeep
create public
create public/404.html
create public/422.html
create public/500.html
create public/favicon.ico
create public/index.html
create public/robots.txt
create script
create script/rails
create test/fixtures
create test/fixtures/.gitkeep
create test/functional
create test/functional/.gitkeep
create test/integration
create test/integration/.gitkeep
create test/unit
create test/unit/.gitkeep
create test/performance/browsing_test.rb
create test/test_helper.rb
create tmp/cache
create tmp/cache/assets
create vendor/assets/stylesheets
create vendor/assets/stylesheets/.gitkeep
create vendor/plugins
create vendor/plugins/.gitkeep
run bundle install
И она там зависает. Должен ли я просто выйти из нее и продолжить работу с приложением? Почему это не возвращает мне управление терминалу?
Спасибо.
ОБНОВЛЕНИЕ: он запросил у меня пароль и установил несколько драгоценных камней. Но это происходит каждый раз, когда я создаю новый проект rails. это нормально? Спасибо.
Комментарии:
1. Как долго? Какова скорость вашей сети / процессора?
2. Я бы действительно подумал об использовании rvm или rbenv, это позволит избежать проблемы с паролем. Но
bundle install
позволяет относительно легко устанавливать драгоценные камни проекта. Не нужно переустанавливать драгоценные камни, если они уже установлены, если только вы не используете rvm и не создаете новые наборы драгоценных камней.3. Спасибо, что прояснили это. Как я могу заставить его прекратить это делать?
4. ну, это может быть проблемой, то есть разрешениями. Я предполагаю, что вы используете какой-то вариант unix. Возможно, установка не завершена, поскольку у вас не было правильных разрешений для установки в расположении по умолчанию через
bundle install
. Я плюс одно предложение по использованию rvm5. Вам обязательно следует установить RVM.
Ответ №1:
Система «зависает», потому что она устанавливает все драгоценные камни через bundle install
в Gemfile, который rails new <project>
генерирует. Это предполагаемое поведение. Он запрашивает ваш пароль, чтобы он мог установить некоторые файлы, к которым ему потребуется sudo
доступ для записи (скорее всего, разместив rail
исполняемый файл по вашему пути).
Вы можете пропустить bundle install
шаг при вызове rails new
, передав ему --skip-bundle
аргумент. Вам все равно придется вызвать, bundle install
прежде чем вы сможете запустить свое приложение, но, по крайней мере, вы можете контролировать, когда это произойдет.
Полезно использовать --skip-bundle
, когда вы знаете, что собираетесь изменить Gemfile, чтобы вам не приходилось ждать, пока bundler установит все gems, прежде чем запускать его снова в течение нескольких минут
Ответ №2:
Это довольно устаревший вопрос, но, как бы то ни было, похоже, что теперь это исправлено. Если вы обновите rails ( gem update rails
), это должно устранить проблему.
Ответ №3:
Как упоминалось в большинстве комментариев, хорошо иметь rvm для управления вашими драгоценными камнями. Это зависание, скорее всего, из-за проблемы с разрешениями,
Вы можете попробовать установить gem обычным способом и посмотреть, работает ли это
gem install <gem name>
и ниже приведен базовый обзор использования rvm с наборами драгоценных камней (который я написал некоторое время назад) (http://keepthingssimple.tumblr.com/post/11274588229/using-rvm-to-keep-things-simple )