web-dev-qa-db-fra.com

Problèmes pour exécuter des exemples dans Meteor

Je teste des exemples Meteor et voici ce que je vois lorsque je lance meteor dans les exemples 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.

Et voici ce qui se passe si je lance mongod en ligne de commande:

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

Quelqu'un aide? Merci!

34
davidmatas

J'ai eu le même problème. Fixé avec:

ATTENTION: Ceci efface votre base de données locale:

météore réinitialiser

63
Kriss Mikelsons

J'ai eu le même problème. Supprimez simplement .meteor/local/db/mongod.lock dans le dossier de votre projet météore. Et météore devrait fonctionner normalement. 

J'espère que ça a aidé! :)

27
jsbeckr

Comme le dit mKriss, essayez

meteor reset

Si vous obtenez cette erreur:

reset: Meteor is running.

This command does not work while Meteor is running your application.
Exit the running meteor development server.

Ensuite, recherchez météore dans vos processus en cours:

ps -x | grep meteor

Cela m'a donné la sortie suivante:

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

Alors j'ai fait:

kill -s KILL 14877
meteor reset
meteor

Maintenant tout fonctionne!

26
Samo

Je ne suis pas sûr que cela soit lié à votre problème, mais j'ai eu cette erreur et finalement découvert que c'était dû au fait que mon répertoire d'applications se trouvait dans un partage NFS (je suis sous Ubuntu dans VirtualBox) ce que mongodb n'aime pas. Placer mon application dans mon répertoire personnel à la place a résolu le problème.

19
devdave

Il y a plusieurs façons de contourner ce problème, la question ne montre pas comment utiliser mongod et je vais donc passer en revue comment obtenir un peu plus de détails sur l'erreur. meteor resetpeut-être fonctionne mais pas toujours et les données de vos applications seront effacées si cela fonctionne.

Le problème principal est que météore est très peu descriptif en ce qui concerne l'affichage des données, je vous conseillerais donc d'obtenir un peu plus de détails sur l'erreur, car elle pourrait littéralement contenir toute erreur mongodb. Les étapes ci-dessous devraient reproduire l'erreur avec plus de verbosité pour aider à diagnostiquer le problème fondamental.

Trouver où Meteor installe mongodb

Si vous avez l'outil mongod (téléchargeable à partir de http://mongodb.com ), sinon utilisez celui installé avec météore. Faites juste attention à ne pas obtenir une nouvelle version qui mette à jour votre ancienne base de données, le vieux mongodb de météore ne pourra pas le comprendre.

généralement (mais pas toujours) à 

/ usr/local/meteor/mongodb/bin/mongod (OS X)

/ usr/lib/meteor/mongodb/bin/mongod (Red Hat/Debian)

C:\Programmes\Meteor\mongodb\bin\mongod.exe (Windows via le port de Tom Wijsman)

Exécuter la base de données de Meteor manuellement avec mongodb

Nous allons donc l'utiliser pour exécuter manuellement mongodb sur la base de données de vos applications mongodb:

Dans votre répertoire de projets avec votre terminal app/command Prompt

cd .meteor
cd local
/usr/local/meteor/mongodb/bin/mongod --dbpath ./

Si votre chemin mongod est quelque chose d'autre, utilisez-le à la place, cela fonctionne sous OS X.

Analysez le résultat pour rechercher la cause première du problème

Maintenant, mongodb devrait vous lancer et vous donner une bonne description du problème, ou bien se dérouler sans heurts:

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

Jetez un coup d’œil à ce que l’erreur pourrait être, puis abordez le problème affiché. Ce pourrait être l'un des nombreux.

Exemple de problème

Si cela a:

exception in initAndListen: 10310 Unable to lock file: ./mongod.lock. Is a mongod instance already running?, terminating

Ensuite, redémarrez votre ordinateur pour éliminer tous les processus susceptibles d'utiliser le fichier. S'il ne résout toujours pas le problème, utilisez meteor reset pour effacer le répertoire situé à .meteor/local/db afin que votre application utilise une nouvelle base de données.

Les erreurs sont très utiles, par exemple, un espace disque insuffisant (effacez la corbeille ;-) ou ne peut pas écrire sur le disque (problème d’autorisations - utilisez chmod/Sudo).

Problèmes très obscurs

Si vous trouvez quelque chose de très embarrassant, cela pourrait être un problème majeur plus qu'un météore, jetez un coup d'œil autour de l'erreur que vous obtenez ici sur stackoverflow et si vous n'arrivez pas à la trouver, posez une question et si des nuées de gens utiles sont prêtes aider :)

11
Akshat

J'ai une solution très simple:

export LC_ALL="en_US.UTF-8"

et lancez meteor

Si cela vous convient, vous pouvez ajouter cette ligne à

Sudo vim /usr/local/bin/meteor

10
ravshanoff

Si la réinitialisation de météores ne fonctionne pas pour vous, vérifiez votre utilisation de l'espace disque.

Si vous n'avez pas d'espace disque libre, vous obtiendrez cette erreur. MongoDB prend environ 450 Mo, créer quelques projets peut donc remplir une partition rapidement.

5
Dave

C'est ce qui m'a aidé à exécuter meteor sur Google Compute Engine:

export LC_ALL=C
3
tomrozb

Si votre projet meteor se trouve dans un dossier DropBox, recherchez les noms de fichier contenant les mots conflicted copy dans .meteor/local/db/ dans votre dossier de projet et supprimez-les. Cela devrait libérer Mongod.

3
Larry R.

Surveillez les accents dans le chemin de vos projets.

..\Système\MyMeteorProject ne fonctionnera pas, ..\System\MyMeteorProject fonctionnera.

2
Trinos

pour ceux qui utilisent vagrant et ne veulent pas meteor reset, effacer la base de données du répertoire local de votre météore a résolu le conflit . du terminal:

rm -rf .meteor/local/db/
1
danlee2

J'ai eu ce message d'erreur: 

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.

... et il s'est avéré que j'avais une instance de la même application en cours d'exécution sur un port différent, ajoutez donc "en vous assurant que vous n'avez aucune autre instance de l'application en cours d'exécution sur un autre port" à la liste des éléments peut causer cette erreur.

1
benvenker

Je pourrais résoudre le problème sous Meteor 1.2.1 et récupérer mes données en supprimant le fichier de verrouillage, en copiant le reste de .meteor/local/db/dans un emplacement temporaire (vous pourriez appeler cela une sauvegarde), en émettant meteor reset et en copiant la sauvegarde. données vers .meteor/local/db /. Tout a fonctionné comme avant.

1
softwarerero

Je sais que cette question est plutôt ancienne, mais je me suis également posé cette question et j'ai pensé que cela pourrait être utile à quelqu'un. Ce qui a fonctionné dans mon cas a été de lancer "Sudo météore"

1
Steve

Pardonnez l'évidence, mais netstat -antep | grep 3002 montre-t-il quelque chose? (en supposant que vous êtes sur * nix)

1
RevBingo

Il y a quelque temps, j'ai rencontré l'erreur Unexpected mongo exit code 100. Restarting..J'ai fini par répondre à ma propre question ici qui semble avoir fait l'affaire pour beaucoup de personnes confrontées au même problème.Le plus important est qu'il ne nécessite pas meteor reset qui nettoie la base de données. un correctif en trois étapes simple et très rapide, je vous recommande donc de l’essayer avant certaines des suggestions les plus compliquées. 

0
mikeym
Thu Apr 12 19:27:39 listen(): bind() failed errno:98 Address already in use for port: 27017

Quelque chose d'autre utilise déjà le port 27017, le démarrage de mongo échoue. Démarrez mongo sur un autre port ou supprimez tout processus utilisant 27017 en premier.

0
mpobrien

J'ai trouvé le même problème de conflit de la synchronisation. J'utilisais Ubuntu One et un tas de nouveaux fichiers ont été créés dans .meteor/local/db/avec "u1_conflicted" ajouté. J'ai supprimé ceux-ci, ainsi que ceux de .meteor/local/db/journal, et j'étais de nouveau opérationnel.

0
Trevor Geise

Vous pouvez simplement essayer d'arrêter d'exécuter votre application meteor en utilisant cette commande: kill -9 ps ax | grep node | grep meteor | awk '{print $1}'

0
YaTaras

J'ai eu le même problème. Fixé avec:

Fixé avec: 

  1. votre répertoire de projet
  2. redirection vers le répertoire .meteor> .local> .db
  3. dans le dossier .db, supprimez tous les fichiers d'ici 
  4. exécuter la commande "météore"

Cela fonctionne bien pour moi. Essayez ceci, cela aide vraiment beaucoup.

0
Ramandeep Kaur

exécutez la commande meteor reset sur l'utilisateur Sudo. Il devrait fonctionner pour vous..

0
Ashraf

Si vous utilisez Vagrant, MongoDb ne fonctionnera pas dans le répertoire partagé de Vagrant: https://Gist.github.com/gabrielhpugliese/5855677

Si vous utilisez Windows pour votre travail de développeur, Meteor dispose désormais d'un programme d'installation Windows: http://win.meteor.com/

0
TH_

Je pourrais récupérer l'erreur en supprimant le verrou de la base de données locale Mogo.

Procédure pour supprimer le verrou de la base de données:

  1. Accédez au répertoire de votre application (où vous avez les fichiers de l'application Meteor)
  2. Supprimer le fichier $ rm .meteor/local/db/mongod.lock

NOTE: $ meteor reset  

AVERTISSEMENT: meteor reset efface tout ce qui se trouve dans votre base de données locale.

Une erreur se produit si Meteor Application est toujours en cours d'exécution en arrière-plan. Le verrou de base de données n'est pas libéré par l'application en cours d'exécution ou en raison d'un arrêt incorrect du système/de l'application et n'est pas disponible pour la deuxième instance de la même application. 

Veillez donc à quitter l'application à chaque fois.

0
Fresher Developer

Devenir superutilisateur:

# meteor --allow-superuser

0
vide wang

La commande Meteor reset ne fonctionnait pas pour moi sous DOS

J'ai supprimé tous les fichiers et dossiers sous <projectfolder>/.meteor/local/db to Recycle Bin

**DOS Log below:**

D:\Meteor\todos>meteor reset
Project reset.

D:\Meteor\todos>
0
iyermobile

Même problème lorsque j'ai essayé de créer mon projet dans un dossier partagé VMWare en liaison avec un dossier hôte ...

cd/mnt/hgfs/Folder_in_C_Host_drive

météore créer myapp

cd myapp

météore

Code de sortie mongo inattendu 100. Redémarrage.

...

Résolu en déplaçant le projet dans un dossier standard de mon système de fichiers ... Les dossiers partagés VMWare ne sont pas capables de gérer la sécurité des fichiers et tous les fichiers sont root: appartient à la racine ces erreurs MongoDB

0
Bruno Rivier