Je viens d'installer Meteor version 0.5.9 (45fef52095) sur mon serveur CentOS version 6.3 (Final) (version Linux 2.6.32-279.19.1.el6.i686 ([email protected]) (gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC)) # 1 SMP le mercredi 19 décembre à 04:30:58 UTC 2012)
J'ai un partage Samba sur un serveur Windows SBS monté en tant que/mnt/apshared sous l'utilisateur Apache. J'ai créé un répertoire à l'intérieur de ce appelé "webmeteor". J'ai créé une application appelée "myapp" dans le répertoire "webmeteor". Mon répertoire ressemble donc à:/mnt/apshared/webmeteor/myapp.
Je suis connecté en tant que root. Lorsque j'essaie d'exécuter l'application à l'aide de la commande meteor
, les messages d'erreur suivants s'affichent:
Unexpected mongo exit code 100. Restarting.
Unexpected mongo exit code 100. Restarting.
Unexpected mongo exit code 100. Restarting.
Can't start mongod
MongoDB had an unspecified uncaught exception.
Check to make sure that MongoDB is able to write to its database directory.
Mon premier point d’appel était cette question de StackOverflow: Créer un nouveau fichier meteor.js et obtenir l’erreur 100, MongoDB n’est pas en mesure d’écrire - mais en suivant ces suggestions (Exécution de la commande meteor et recherche de disque 70 Go d’espace libre) n’a pas fonctionné. Je suis tout à fait certain que ces problèmes sont liés à la permission.
J'ai essayé de chown
récursivement à root: root (car je suis connecté en tant que root), et chmod
à 777 également, mais en vain.
Je vous demande, que dois-je essayer ensuite, pour permettre à mon application Meteor de démarrer?
Merci d'avance.
Il semble qu'une solution temporaire puisse être trouvée en exécutant météore à partir d'un répertoire qui ne se trouve pas dans le montage. Mongodb ne semble pas trop aimer les partages, vous devez donc configurer rsync pour copier périodiquement les fichiers de votre partage dans le répertoire où meteor est exécuté.
Utiliser meteor reset
efface toutes les données de votre base de données. Si cela vous inquiète, accédez au dossier de votre projet.
cd /path/to/my/project
Ici, vous devez effacer le fichier mongodb.lock
.
rm .meteor/local/db/mongodb.lock
Maintenant, vous pouvez exécuter Meteor en utilisant la commande,
meteor
Supprimer ce fichier et ce dossier a fonctionné pour moi:
rm -rf .meteor/local/db/mongod.lock .meteor/local/db/journal/
Le mien a finalement été corrigé en exécutant export LC_ALL=C
. Trouvé l'erreur à travers les étapes de débogage suggérées dans ce post: https://stackoverflow.com/a/15752736/1820510
Comme suggéré ailleurs, l'exécution de meteor reset
a résolu le problème pour moi sous OS X.
AVERTISSEMENT: meteor reset
efface tout ce qui se trouve dans votre base de données locale.
Assurez-vous de disposer de suffisamment d'espace libre sur cette partition. Sinon, vous aurez cette erreur même.
C'est ce qui m'a aidé.
J'exécutais météore sous Vagrant et je suis tombé sur ce problème. Avant de trouver ce fil, j'ai supprimé mes fichiers MongoDB de /var/lib/mongodb
, car il y avait un .lock
également. MongoDB réside peut-être à côté du dossier .meteor
.
ce bug se produisait à chaque fois que j'ai redémarré météore et
rm .meteor/local/db/mongod.lock
n'a pas fonctionné pour moi (je travaille sur l'IDE en ligne cloud9)
Je fais maintenant
rm .meteor/local/db/mongod.lock .meteor/local/db/local.*
et tout redevient normal sans effacer ma base de données
J'ai eu le même problème sur Windows 8.1 x64: 'Code de sortie mongo inattendu 100. Redémarrage.' . Et 'météore reset' ou 'delete mongod.lock' ne l'ont pas résolu . Pour afficher les détails de l'erreur lors du lancement de mongod , j'ai ajouté un proc.stdout.on. function dans le fichier run-mongo.js:
// Let's not actually start a process if we yielded (eg during
// findMongoAndKillItDead) and we decided to stop in the middle (eg, because
// we're in multiple mode and another process exited).
if (stopped) return;
proc = spawnMongod(mongod_path, port, dbPath, replSetName);
// added this 3 lines just to debug 'Unexpected mongo exit code 100. Restarting.'
proc.stdout.on('data', function (data) {
console.log('stdout: ' + data);
});
Puis j'ai eu l'erreur explicite:
*********************************************************************
ERROR: dbpath (C:\Users\Pierre-André\Desktop\Pal\Meteor\simple-todos\.meteor\local\db) does not exist.
Create this directory or give existing directory in --dbpath.
See http://dochub.mongodb.org/core/startingandstoppingmongo
*********************************************************************
L'erreur indique que le répertoire de base de données n'existe pas. Cependant, il existe ... Le problème était que j’avais un caractère spécial dans le chemin (accent é en mon nom). Je déplace le dossier de mon projet météore à un autre endroit du disque où le chemin est libre d’accent, et cela a bien fonctionné.
J'espère que ça va aider.
Le fichier run-mongo.js se trouve dans mon ordinateur à l'adresse suivante: C:\Utilisateurs\Pierre-André\AppData\Local \. Meteor\packages\meteor-tool\1.1.10\mt-os.windows. x86_32\tools\runners
N'oubliez pas de supprimer les 3 lignes après avoir résolu le problème, sinon vous aurez beaucoup de journaux de console à chaque chargement du projet.
J'ai arrêté ma machine accidentellement, ce qui a entraîné le même problème. Aucune de ces options ne m'a aidé à supprimer le fichier .lock ou à lancer l'exportation LC_ALL = C etc.
Je suis sur Ubuntu 15.04. J'ai commencé mongo avec l'option --dbpath pointant sur myApp/.meteor/local/db et les journaux de démarrage de mongo ont clairement indiqué que mongo tentait de restaurer la base de données à partir du journal/s dans le dossier du journal. Il cherchait un fichier local.1 qui n'existait pas.
J'ai donc essayé mongo --recovery, qui indiquait en outre que cela ne fonctionnerait pas tant que je n'aurais pas le dossier journal.
voici ce que j'ai fait
1. Suppression du dossier de journal (déplacé vers un autre emplacement - au cas où)
2. a couru le mongo --recovery (pas à 100% si cela a réellement fait quelque chose)
3. météore commencé
Et tout a commencé sans problème et devinez ce que j’avais toutes mes données comme prévu
premier
$ rm .meteor/local/db/mongodb.lock
si ça ne marche pas
sauvegarde comme vous pouvez
.meteor/local/db/meteor *
et
$ meteor reset
et restaurer
.meteor/local/db/meteor *
Si vous recevez une notification avec quelque chose comme
Local folder has run out of space
Essayez d'aller à
cd .meteor/local/bundler-cache/
et en supprimant tout dans ce répertoire. C'est un cache donc ça ne devrait pas affecter trop. Il semble se développer de manière incontrôlable parfois.
MODIFIER
Combinant toutes les autres réponses, essayez
rm -rf .meteor/local/db/mongod.lock .meteor/local/db/local.* .meteor/local/db/journal .meteor/local/bundler-cache/linker/
Si cela ne fonctionne toujours pas, vous devrez peut-être libérer de l'espace sur votre disque. Faites-le en vérifiant via
free -m
ou en regardant vos inodes et combien d'espace est utilisé via
df -h
Je suis tombé sur ce problème lorsque j'ai installé le nœud et météore dans mon nouvel ordinateur portable (Windows 10). Je n'ai apporté aucune modification aux installations par défaut.
La réinitialisation de Meteor ou la suppression de fichiers de .meteor/local/db ne fonctionnait pas pour moi car je créais de nouvelles applications à exécuter localement et le répertoire était vide. Donc, je pouvais les créer mais ils ne couraient pas. J'ai également essayé de créer des applications avec d'anciennes versions de météores, mais cela a également échoué.
Résolu dans mon cas en changeant le répertoire en c: \
cd c: \
météore créer testApp
Ce répertoire fonctionnait également avec les applications préexistantes que j'avais transférées depuis mon ordinateur. Je suppose que quelque chose à faire avec les systèmes de fichiers NFS, je suis nouveau dans tout cela, donc si quelqu'un peut expliquer plus à ce sujet, j'aimerais en savoir plus. C'est déjà frustrant de ne pas pouvoir utiliser tous les répertoires possibles pour stocker mes applications.
Résolu! Dans mon cas, deleting meteor/local/db/mongodb.lock
et meteor reset
résolvent le problème.
Merci a tous!
Si vous avez installé Mongo globalement, assurez-vous de supprimer tous les fichiers pré-allloc du dossier/db/journal.
Pour Ubuntu, le dossier/db/est normalement situé dans/data et le chemin complet est/data/db/journal. Cela pourrait être différent pour d'autres systèmes d'exploitation.
Pour ceux qui utilisent bash sous Windows (sous-système Windows pour Linux/WSL), j'ai constaté que la création de l'application météore en dehors du répertoire/mnt permettait de résoudre le problème.
Lorsque je l’installe dans mon espace de travail dans/mnt/c/Workspace, il échoue à chaque fois . Mais une fois installé dans le répertoire personnel (~), il s’exécute pour la première fois . Voici l’image.
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:
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.
J'ai eu ce problème en utilisant Meteor 1.4 sur Windows 10. Cependant, je développe la même application Meteor sur une installation Ubuntu. Le problème pour moi était dû à des différences dans la manière dont Mongo 3.2 est implémenté sous Windows et Ubuntu. Mon installation Ubuntu 64 bits utilise WiredTiger. Cependant, comme il est dit dans Meteor documentation :
If you are using Windows or 32bit Linux, you can update your development
database to 3.2, however it will continue to use the MMAPv1 storage
engine, as the 32bit MongoDB binary does not support WiredTiger.
L'utilisation de meteor reset
sous Windows a supprimé la base de données au format WiredTiger d'Ubuntu, puis l'a reconstruite à l'aide de l'ancien moteur MMAPV1. Cela a résolu l'erreur de code de sortie 100.
J'ai eu le même problème, je l'ai résolu en changeant la propriété du dossier .meteor (où réside MongoDB)
cd path-to-meteor-app
Sudo chown -R youruser:yourgruop .meteor
J'espère aider quelqu'un!
J'ai pu résoudre ce problème en exportant LC_ALL, j'utilise Ubuntu
exportation LC_ALL = "en_US.UTF-8"
J'ai eu un problème similaire. Cela était dû au fait que le répertoire de mon projet faisait partie de ma Dropbox et que certains fichiers étaient en conflit dans le répertoire .meteor/local/db. Le fait de les supprimer a résolu le problème.
Je suis tombé sur ce problème lorsque j'ai installé le nœud et météore dans mon nouvel ordinateur portable (Windows 10). Je n'ai apporté aucune modification aux installations par défaut.
La réinitialisation de Meteor ou la suppression de fichiers de .meteor/local/db ne fonctionnait pas pour moi car je créais de nouvelles applications à exécuter localement et le répertoire était vide. Donc, je pouvais les créer mais ils ne couraient pas. J'ai également essayé de créer des applications avec d'anciennes versions de météores, mais cela a également échoué.
Résolu dans mon cas en changeant le répertoire en c: \
cd c:\
meteor create testApp
Ce répertoire fonctionnait également avec les applications préexistantes que j'avais transférées depuis mon ordinateur. Je suppose que quelque chose à faire avec les systèmes de fichiers NFS, je suis nouveau dans tout cela, donc si quelqu'un peut expliquer plus à ce sujet, j'aimerais en savoir plus. C'est déjà frustrant de ne pas pouvoir utiliser tous les répertoires possibles pour stocker mes applications.