Ответ 1
У меня была та же проблема. Исправлено:
ПРЕДУПРЕЖДЕНИЕ: это удаляет вашу локальную базу данных:
Метеор reset
Я тестирую примеры Meteor, и это то, что я вижу, когда я запускаю meteor
в примерах todos:
Unexpected mongo exit code 100. Restarting.
Unexpected mongo exit code 100. Restarting.
Unexpected mongo exit code 100. Restarting.
Can't start mongod. Check for other processes listening on port 3002 or other meteors running in the same project.
И вот что произойдет, если я запустил mongod
в командной строке:
Thu Apr 12 19:27:39 Mongo DB : starting : pid = 2686 port = 27017 dbpath = /data/db/ master = 0 slave = 0 32-bit
** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
** see http://blog.mongodb.org/post/137788967/32-bit-limitations for more
Thu Apr 12 19:27:39 db version v1.4.4, pdfile version 4.5
Thu Apr 12 19:27:39 git version: nogitversion
Thu Apr 12 19:27:39 sys info: Linux murphy 2.6.32.14-dsa-ia32 #1 SMP Thu May 27 16:19:20 CEST 2010 i686 BOOST_LIB_VERSION=1_42
Thu Apr 12 19:27:39 waiting for connections on port 27017
Thu Apr 12 19:27:39 listen(): bind() failed errno:98 Address already in use for port: 27017
Thu Apr 12 19:27:39 MiniWebServer: bind() failed port:28017 errno:98 Address already in use
Thu Apr 12 19:27:39 addr already in use
Thu Apr 12 19:27:39 warning: web admin interface failed to initialize on port 28017
Кто-то помогает? Спасибо!
У меня была та же проблема. Исправлено:
ПРЕДУПРЕЖДЕНИЕ: это удаляет вашу локальную базу данных:
Метеор reset
Как упоминалось в mKriss, попробуйте
meteor reset
Если вы получите эту ошибку:
reset: Meteor is running.
This command does not work while Meteor is running your application.
Exit the running meteor development server.
Затем найдите метеор в ваших запущенных процессах:
ps -x | grep meteor
Это дало мне следующий результат:
14877 pts/0 Sl 0:02 /usr/lib/meteor/mongodb/bin/mongod --bind_ip 127.0.0.1 --port 3005 --dbpath /home/sam/proto/.meteor/local/db
15022 pts/0 S+ 0:00 grep --color=auto meteor
Итак, я сделал:
kill -s KILL 14877
meteor reset
meteor
Теперь все работает!
У меня была та же проблема. Просто удалите .meteor/local/db/mongod.lock
в папке проекта метеорита. Метеор должен нормально работать.
Надеюсь, это помогло!:)
Не уверен, что это имеет отношение к вашей проблеме, но я получил эту ошибку и, в конце концов, обнаружил, что она была вызвана тем, что у меня был каталог приложений в общем доступе NFS (я работаю на Ubuntu в VirtualBox), которому mongodb не нравится. Помещение моего приложения в мой домашний каталог устраняет проблему.
Есть несколько способов обойти это, вопрос не показал, как использовать mongod
, поэтому я собираюсь запустить, как получить более подробную информацию об ошибке. meteor reset
может работать, но не всегда, и он очистит ваши данные приложений, если он работает.
Основная проблема - это метеорит, очень не относящийся к описанию, когда дело доходит до отображения данных, поэтому я бы посоветовал получить немного более подробную информацию об ошибке, поскольку это может буквально любая ошибка mongodb там. Приведенные ниже шаги должны воспроизводить ошибку с большей детализацией, чтобы помочь диагностировать, что проблема с корнем
Найти, где Meteor устанавливает mongodb
Если у вас есть инструмент mongod
(загружаемый из http://mongodb.com), в противном случае используйте тот, который установлен с метеор. Просто будьте осторожны, вы не получите слишком новую версию, которая обновляет вашу старую базу данных, а затем метеорит более старый mongodb не сможет ее понять.
обычно (но не всегда) в
/usr/local/meteor/mongodb/bin/mongod (OS X)
/usr/lib/meteor/mongodb/bin/mongod ( Red Hat/Debian)
C:\Program Files\Meteor\mongodb\bin\mongod.exe( Windows через порт Tom Wijsman)
Запустить базу данных Meteor вручную с помощью mongodb
Итак, мы собираемся использовать это для ручного запуска mongodb в базе данных ваших приложений mongodb:
В вашем каталоге проектов с помощью приложения терминала/командной строки
cd .meteor
cd local
/usr/local/meteor/mongodb/bin/mongod --dbpath ./
Если ваш путь mongod
- это что-то другое, используйте это вместо этого, то это работает на OS X.
Проанализируйте вывод, чтобы найти основную причину проблемы
Теперь mongodb должен бежать и дать вам хорошее описание проблемы или запустить плавно:
Mon Apr 1 23:59:55 [initandlisten] MongoDB starting : pid=84640 port=27017 dbpath=./ 64-bit host=MacBook-Pro.local
Mon Apr 1 23:59:55 [initandlisten]
Mon Apr 1 23:59:55 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
Mon Apr 1 23:59:55 [initandlisten] db version v2.2.1, pdfile version 4.5
Mon Apr 1 23:59:55 [initandlisten] git version: d6764bf8dfe0685521b8bc7b98fd1fab8cfeb5ae
Mon Apr 1 23:59:55 [initandlisten] waiting for connections on port 27017
Взгляните на то, что может быть ошибкой, и затем рассмотрите отображаемую проблему. Это может быть один из многих.
Пример проблемы
Если у него есть:
exception in initAndListen: 10310 Unable to lock file: ./mongod.lock. Is a mongod instance already running?, terminating
Затем перезагрузите компьютер, чтобы убить любые процессы, которые могут использовать этот файл, и если он по-прежнему не помогает использовать meteor reset
для очистки каталога на .meteor/local/db
, поэтому ваше приложение использует новую базу данных.
Ошибки очень полезны, например, небольшое дисковое пространство (очистка корзины ;-)
или невозможность записи на диск (проблема с разрешениями - использование chmod/sudo).
Очень неясные проблемы
Если вы найдете что-то очень озадачивающее, это может быть проблемой mongodb больше, чем метеорной, посмотрите на ошибку, которую вы получите здесь, на stackoverflow, и если вы не можете найти ее, вставите вопрос и стайки полезных людей надеюсь, готовы помочь:)
У меня очень простое решение:
export LC_ALL="en_US.UTF-8"
и запустите meteor
Если это нормально, вы можете добавить эту строку в
sudo vim /usr/local/bin/meteor
Если метеорит reset не работает для вас, проверьте использование дискового пространства.
Если у вас нет свободного места на диске, вы получите эту ошибку. MongoDB занимает около 450 МБ, поэтому создание нескольких проектов может быстро заполнить раздел.
Если ваш проект meteor находится в папке DropBox, проверьте имена файлов, которые содержат слова conflicted copy
в .meteor/local/db/
в папке проекта, и удалите их. Это должно освободить Mongod для запуска.
Это помогло мне запустить meteor
в Google Compute Engine:
export LC_ALL=C
Следите за акцентами на пути ваших проектов.
..\Système\MyMeteorProject не будет работать, .. \System\MyMeteorProject будет работать.
Простите очевидное, но не показывает ли netstat -antep | grep 3002
что-нибудь? (если вы на * nix)
Я знаю, что этот вопрос довольно старый, однако я просто столкнулся с этой проблемой и подумал, что это может быть полезно кому-то. То, что работало в моем случае, состояло в том, чтобы запустить "sudo meteor"
Я мог бы решить проблему в Meteor 1.2.1 и восстановить мои данные, удалив файл блокировки, скопировав оставшиеся данные .meteor/local/db/во временное место (вы можете назвать это резервной копией), введите meteor reset
и скопируйте резервные данные обратно в .meteor/local/db/. Все по-прежнему работало.
для тех, кто использует бродягу и не хочет meteor reset
,
очистка db локального каталога вашего метеорита разрешила конфликт.
от терминала:
rm -rf .meteor/local/db/
Thu Apr 12 19:27:39 listen(): bind() failed errno:98 Address already in use for port: 27017
Что-то еще уже использует порт 27017, поэтому запуск mongo не работает. Начать mongo на другом порту или убить любой процесс, используя 27017.
Meteor reset
команда не работала для меня в DOS
Я удалил все файлы и папку под <projectfolder>/.meteor/local/db to Recycle Bin
**DOS Log below:**
D:\Meteor\todos>meteor reset
Project reset.
D:\Meteor\todos>
Я обнаружил ту же проблему конфликта при синхронизации. Я использовал Ubuntu One, и в .meteor/local/db/с добавлением "u1_conflicted" было создано множество новых файлов. Я удалил те, и те, что были в .meteor/local/db/journal, и были резервными и работающими.
Я мог восстановить ошибку, удалив блокировку локального Mogo db.
Шаги по удалению блокировки db:
ПРИМЕЧАНИЕ: $meteor reset
ПРЕДУПРЕЖДЕНИЕ: метеор reset стирает все в вашей локальной базе данных.
Ошибка, если приложение Meteor все еще работает в фоновом режиме. Заблокированное блокирование не освобождается запущенным приложением или из-за неправильного завершения работы системы/приложения и недоступно для второго экземпляра того же приложения.
Поэтому старайтесь каждый раз оставлять приложение.
Я получил это сообщение об ошибке:
MongoDB had an unspecified uncaught exception.
This can be caused by MongoDB being unable to write to a local database.
Check that you have permissions to write to .meteor/local. MongoDB does
not support filesystems like NFS that do not allow file locking.
... и оказалось, что у меня есть экземпляр одного и того же приложения, работающего на другом порту, поэтому добавьте "убедитесь, что у вас нет других экземпляров приложения, работающего на альтернативном порту" в списке вещей, которые могут вызвать эту ошибку.
Такая же проблема, когда я пытался создать свой проект в общей папке VMWare, связанной с папкой хоста...
cd/mnt/hgfs/Folder_in_C_host_drive
Метеор создать myapp
cd myapp
метеора
Неожиданный код выхода mongo 100. Перезагрузка.
...
Решено, переместив проект в стандартную папку в моей файловой системе... Общие папки VMWare не могут обрабатывать защиту файлов, а любые файлы root: root... вот почему это закончилось тем, что ошибки MongoDB
Если вы используете Vagrant, MongoDb не будет запускаться в общем каталоге Vagrant: https://gist.github.com/gabrielhpugliese/5855677
Если вы используете Windows для своей работы, Meteor теперь имеет установщик Windows: http://win.meteor.com/
Вы можете просто остановить работу приложения meteor с помощью этой команды: kill -9 ps ax | grep node | grep meteor | awk '{print $1}'
Я снова столкнулся с ошибкой Unexpected mongo exit code 100. Restarting.
. Я в конечном итоге ответил на свой собственный вопрос здесь, который, похоже, сделал трюк для многих, столкнувшихся с одной проблемой Важно, что это не требует meteor reset
, который вытирает базу данных. Это простое и очень быстрое исправление на три шага, поэтому я рекомендую попробовать его перед некоторыми более сложными предложениями.
У меня была та же проблема. Исправлено:
Исправлено:
Он отлично работает для меня. Поймите это, это действительно помогает.
Стать суперпользователем:
# meteor --allow-superuser