Я пробовал несколько вещей, таких как удаление / переустановка рельсов и драгоценных камней, но безрезультатно.
Когда я захожу в свой новый проект и запускаю rails s или bundle exec rails server, я получаю эту ошибку:
bin/rails:6: warning: already initialized constant APP_PATH
/Users/toabui/Sites/cms/bin/rails:6: warning: previous definition of APP_PATH was here Usage: rails COMMAND [ARGS]
В моем бункере / рельсах я вижу этот код:
#!/usr/bin/env ruby
begin
load File.expand_path("../spring", __FILE__)
rescue LoadError
end
APP_PATH = File.expand_path('../../config/application', __FILE__)
require_relative '../config/boot'
require 'rails/commands'
Кто-нибудь знает, почему я продолжаю получать эту ошибку при запуске rails s?
Я погуглил, и кажется, что с Spring gem есть ошибка, но я не могу заставить его работать.
ruby-on-rails
тобу
источник
источник
database.yml
адаптера отличалась от адаптераGemfile
.Ответы:
Мне не удалось найти an_initilizer.rb в моем каталоге, и я попытался удалить / установить весенний гем, но это не сработало.
Однако мне наконец удалось заставить его работать.
Видимо есть какой-то конфликт с пружинами и рейками 4+.
Мне нужно было запустить:
rake rails:update:bin
Но наткнулся на другую ошибку:
Library not loaded: libmysqlclient.18.dylib
Я выполнил следующую команду, которую нашел в другом сообщении stackoverflow:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
Затем запустил исходную команду:
rake rails:update:bin
Затем запустите серверную команду:
И теперь мой сервер WebBrick работает.
источник
bin/rake db:migrate RAILS_ENV=development
rake rails:update:bin
в помощь.источник
Если вы используете El Capitan (OS X 10.11), Security Integrity Protection (SIP) предотвратит подключение к / usr / lib для исправления mysql. Вместо этого свяжите его с / usr / local / lib:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib
источник
mysql_config --libs
вы это сделаетеsudo ln -s mypath /usr/local/lib/libmysqlclient.18.dylib
Это работа для меня.
gem uninstall mysql2
bundle install
или жеgem install mysql2
источник
Я получал ту же ошибку. Spring удален из Gemfile и снова собран. Хотя это не совсем решение.
Я нашел код, создавший эту ошибку, в
config/initializers/an_initializer.rb
require "lib/a_file_i_need"
Я изменил это на
require "#{ Rails.root }/lib/a_file_i_need"
источник
#{Rails.root}
к пути помогло мне избавиться от ошибки.Я получил эту ошибку, пытаясь обновить rails 4, imagemagick и rmagick. Так что я просто сбежал
Выберите вариант Все версии. Тогда попробуйте еще раз
РЕДАКТИРОВАТЬ: это снова произошло со мной только сейчас, потому что я пытался использовать драгоценный камень без установки необходимого базового камня. В моем случае решением было установить omniauth-google перед попыткой использовать omniauth-google-oauth2, но поскольку я не установил, я снова получил ту же ошибку
источник
У меня такая же ошибка. У меня были ruby 2.1.3 и rails 4.1.6, работающие на Mavericks, а затем я перешел на Yosemite и установил версию rails 4.2.0 на ruby 2.1.5, и мои приложения, которые я сделал в предыдущей версии, не работали с новой. , поэтому я сделал несколько наборов драгоценных камней с помощью RVM и установил версию 2.1.3. Теперь, когда я хотел запустить сервер, я получил следующую ошибку:
bin/rails:6: warning: already initialized constant APP_PATH /Users/Lexynux/_WebProjects/RoR_Apps/SAIIP2/bin/rails:6: warning: previous definition of APP_PATH was here Usage: rails COMMAND [ARGS]
И, как сказал Тобу, я побежал:
rake rails:update:bin
Получил вот что:
LoadError: dlopen(/Users/Lexynux/.rvm/gems/ruby-2.1.3@SAIIP2/extensions/x86_64-darwin-14/2.1.0-static/mysql2-0.3.16/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib
Затем я запустил это:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
И, наконец, я повторил первую команду, когда терминал попросил меня об этом:
Overwrite /Users/Lexynux/_WebProjects/RoR_Apps/SAIIP2/bin/rails? (enter "h" for help) [Ynaqdh]
Я просто набрал «Y» и нажал «Return».
После всего этого я начал работать и все хорошо.
Благодарю.
источник
Я получил эту ошибку после обновления postgresql.
$ gem uninstall pg $ gem install pg
решил эту проблему для меня.
источник
Это случилось со мной после того, как я сделал
brew upgrade
. Я предполагаю, что это сломало некоторые драгоценные камни с собственными расширениями, хотя не было сообщения об ошибке, указывающего на это.В итоге я полностью удалил установленные драгоценные камни (в моем случае я полностью удалил и переустановил рубиновую версию, используя
rbenv
).Запуск
bundle install
перекомпилировал собственные расширения, и все снова заработало.источник
mysql gem
а затем запустить установку пакета.У меня такая же ошибка, возможно, она связана
gem dotenv
. Инструкции заключались в том, чтобы добавить в Gemfile следующее:gem 'dotenv', :require => 'dotenv/rails-now'
Но, как выяснилось позже,
dotenv/rails-now
возникла ошибка. Если вы используетеdotenv
, не требуйтеrails-now
источник
Вы используете pg и mysql в разных ветках? Если да, подтвердите файл конфигурации базы данных.
источник
Я выложу то, что у меня сработало.
Закомментируйте
gem 'spring'
Добавить
gem 'net-shh'
и беги
bundle install
И перезапустите свой сервер
источник
Я получил эту ошибку после обновления рельсов. Отключение
spring
подскажет, что проблема связана с:gem 'google-api-client', require: 'google/api_client'
Изменился на:
gem 'google-api-client', '0.9'
Решил проблему.
источник
У меня было такое же сообщение об ошибке при попытке запустить приложение в среде Vagrant. Он возник из ниоткуда после нулевых изменений в коде приложения (и последовало другое странное поведение, такое как удаление development.rb при попытке запустить приложение).
В конце концов, я просто остановил виртуальную машину и перезапустил ее, все было хорошо, поэтому я предполагаю, что это была проблема с синхронизацией файлов / общими папками, возможно? (используется общая папка Vagrant по умолчанию).
источник
Запустите их в консоли:
rake tmp:clear rake secret
источник
ЕСЛИ
rake rails:update:bin
дает дополнительные ошибки:Я недавно занимался обслуживанием сервера и впоследствии обновил OpenSSL.
Когда я попытался запустить
rake rails:update:bin
команду, мне выдали ошибку, связанную с openSSL.После пересборки моей версии Ruby (`rvm переустановить ruby-xxx 'с RVM) обе ошибки исчезли.
Думаю, это всегда стоит попробовать.
источник
Моя проблема заключалась в том, что я использовал устаревшую версию ruby 1.9.3 с рельсами 4.2. Я обновился до 2.1.2, удалил сломанный проект, запустил новый блог rails new, чтобы воссоздать мой проект, зашел в мое недавно созданное приложение и запустил сервер rails, и все заработало.
источник
У меня только что возникла эта проблема, и я обнаружил, что она вызвана тем, что я удалил драгоценный камень из гем-файла, не удаляя другие
require
ссылки. В моем случае мне просто пришлось удалить его из config / application.rb.источник
Если эта ошибка была недавно, она вызвана Spring из-за предлагаемого кода в исполняемых файлах:
begin load File.expand_path('../spring', __FILE__) rescue LoadError end
Первоначально он ожидает сам
LoadError
for spring в производстве, но с помощью этого кода все другие ошибки загрузки также будут проигнорированы.Таким образом, если у вас есть какой-либо другой
LoadError
процесс загрузки в рельсах (например, в routes / init), запуск Spring worker завершается неудачно, а затем идет ветка, которая пытается загрузить все снова, как будто пружины не было.источник
Для меня эта проблема возникла в результате обновления пакета rvm-capistrano среди прочего.
Добавление этого требует: ложные исправления в конце, как в предыдущем сообщении
gem 'rvm-capistrano', require: false
Хотя, возможно, это может быть дополнительной проблемой, поскольку запуск,
rake rails:update:bin
возможно, помог решить первоначальную проблему.источник