web-dev-qa-db-fra.com

Comment puis-je m'assurer que les fichiers binaires Mongo sont dans mon PATH - dans mon rc Shell (~ / .bashrc) sur un Mac

J'apprends mongoDb.
J'ai fait ce qui suit: je comprends cela.

mkdir -p mongodb
cp -R -n mongodb-osx-x86_64-2.6.7/ mongodb

Ces prochaines instructions ** ne sont pas claires pour moi.

** Assurez-vous que l'emplacement des fichiers binaires est dans la variable PATH. Les binaires MongoDB se trouvent dans le répertoire bin/de l'archive. Pour vous assurer que les fichiers binaires sont dans votre PATH, vous pouvez modifier votre PATH.

Par exemple, vous pouvez ajouter la ligne suivante au fichier rc de votre Shell (par exemple ~/.bashrc):

export PATH=<mongodb-install-directory>/bin:$PATH

Remplacez par le chemin d'accès à l'archive MongoDB extraite.

Fin des instructions.

Depuis le terminal sur mon Mac

$which bash
/bin/bash

Le répertoire bin a un tas de commandes: bash, chmod, ln, pid, mkdir.

Je ne trouve pas le répertoire où je devrais inclure le code PATH ci-dessus.

Merci

Les instructions d'Abhay ont fonctionné! Désolé que ce qui suit est long mais je pense que c'est nécessaire parce que vous étiez si clair la dernière fois et je veux que vous voyiez ma structure de fichiers.
. Merci encore pour votre expertise.

1. Mais pourquoi tous les binaires (les exécutables) sont-ils répertoriés individuellement dans ce dossier bin? S'agit-il des "seuls" fichiers qui devraient "vivre" dans ce dossier? Peut-être que lorsque j'installais Bower Grunt, etc., je devrais les installer (Bower Grunt, etc.) à un emplacement différent. J'essaie de garder mes structures de fichiers logiques et propres. Voici ce que j'ai.

MacBookPro:usr regina$ cd ..
MacBookPro:/ regina$ ls
Applications        bin         net
CoreSyncInstall.log cores           private
Library         data            sbin
Network         dev         tmp
System          etc         usr
Users           home            var
Volumes         mach_kernel
MacBookPro:/ regina$ cd usr/local/bin
MacBookPro:bin regina$ ls
bower       grunt       mongod      mongorestore    npm
browserify  gulp        mongodump   mongos      statsd
bsondump    http-server mongoexport mongosniff  yo
cake        karma       mongofiles  mongostat
coffee      lessc       mongoimport mongotop
cordova     mkdirp      mongooplog  node
express     mongo       mongoperf   nodemon
MacBookPro:bin regina$ 

2. Aussi, je voulais regarder mon fichier .bashrc. Je n'en ai pas. Je suis sur OSX 10.8.5 Je veux "voir" ma variable $ PATH. Je crois l'avoir trouvé quelque part il y a des mois. J'utilisais nano pour ouvrir un tas de fichiers parce que j'étais curieux. Était-elle répertoriée comme variable environnementale?

MacBookPro:/ regina$ ls
Applications        bin         net
CoreSyncInstall.log cores           private
Library         data            sbin
Network         dev         tmp
System          etc         usr
Users           home            var
Volumes         mach_kernel
MacBookPro:/ regina$ cd home
MacBookPro:home regina$ ls -la
total 2
dr-xr-xr-x   2 root  wheel     1 Feb  3 08:29 .
drwxr-xr-x  33 root  wheel  1190 Jan 25 17:21 ..
MacBookPro:home regina$ 
  1. Je lance le mongo Shell comme ça. Je ne montre pas toutes les lignes de sortie dans le terminal.
    Regardez ma structure de fichiers. À l'origine, j'ai suivi une commande cp mais cela n'expliquait pas "où" copier le dossier archivé (de bureau) mongodb-osx-x84 .... alors regardez où je l'ai copié. Maintenant, j'ai ces fichiers dans 2 endroits - oui? Et j'ai un dossier mongodb à l'intérieur d'un dossier mongodb de niveau supérieur. Pourquoi ? Comment ai-je géré cela? Cela semble illogique. J'ai été mis en retrait de 4 espaces, mais ce qui suit ne sera pas formaté, j'ai donc ajouté des sauts de ligne. Désolé.

    MacBookPro: home regina $ cd ..

    MacBookPro:/regina $ ls Applications bin net CoreSyncInstall.log cores private Library data sbin Network dev tmp System etc usr Users home var Volumes mach_kernel

    MacBookPro:/regina $ cd data

    MacBookPro: données regina $ ls

    db mongodb

    MacBookPro: données regina $ cd mongodb

    MacBookPro: mongodb regina $ ls

    mongodb MacBookPro: mongodb regina $ cd mongodb MacBookPro: mongodb regina $ ls GNU-AGPL-3.0 AVIS AUX TIERS README bin

    MacBookPro: mongodb regina $ cd bin

    MacBookPro: bin regina $ ls

    bsondump mongodump mongoimport mongorestore mongostat mongo mongoexport mongooplog mongos mongotop mongod mongofiles mongoperf mongosniff

  2. C'est ce qui se passe lorsque j'essaie de taper 'mongo' comme le suggère un autre forum.

    MacBookPro: bin regina $ mongo MongoDB Shell version: 2.6.7 connexion à: test 2015-02-03T08: 36: 54.157-0500 avertissement: échec de la connexion à 127.0.0.1:27017, raison: errno: 61 Connexion refusée

J'ai donc tapé ce qui a toujours échoué.

MacBookPro:bin regina$ ./mongo
MongoDB Shell version: 2.6.7
connecting to: test
2015-02-03T08:37:03.599-0500 warning: Failed to connect to    127.0.0.1:27017, reason: errno:61 Connection refused

Ensuite, j'ai essayé ce qui s'est connecté - ouvert le port 27017 - et écoute. Pourquoi ai-je besoin de la commande daemon?

MacBookPro:bin regina$ ./mongod
./mongod --help for help and startup options
2015-02-03T08:37:08.712-0500 [initandlisten] MongoDB starting :    pid=487 port=27017 dbpath=/data/db 64-bit Host=macbookpro.home
more lines of code
2015-02-03T08:37:09.018-0500 [initandlisten] waiting for connections on port 27017
18
shareyourpeace

Lorsque vous téléchargez MongoDB pour Mac, vous obtenez un fichier d'archive. La première chose à faire est de décompresser l'archive. Pour ce faire, il vous suffit de double-cliquer sur l'archive. Le dossier non compressé contiendra les fichiers binaires dans le dossier bin, comme mongodb-osx-x86_64-2.6.7/bin. Ce que vous devez faire ensuite est de vous assurer que ces fichiers binaires sont accessibles. Donc, pour cela, vous pouvez faire l'une des deux choses -

  1. Copiez les fichiers binaires dans /usr/local/bin dossier. Comme /usr/local/bin est toujours dans PATH, vous n'avez donc pas à l'ajouter au PATH.

    C'est assez simple. Courir cp mongodb-osx-x86_64-2.6.7/bin/* /usr/local/bin/. C'est tout. Vous avez tous terminé.

  2. Ajoutez le chemin du dossier binaire à votre $PATH variable.

    Ouvrez le .bashrc fichier, qui se trouve dans votre dossier de départ, et mettez export PATH=$HOME/mongodb/bin:$PATH ligne à la fin. Je suppose que mongodb non compressé dans les téléchargements.

Si vous utilisez la deuxième méthode, assurez-vous de ne pas supprimer accidentellement le dossier mongodb ajouté dans le PATH.

Une fois que vous avez terminé, fermez le terminal, ouvrez une nouvelle fenêtre de terminal et exécutez:

mongo --version

Si vous obtenez les informations mongodb avec la version, alors c'est bien.

Si vous obtenez toujours quelque chose comme command mongo not found, puis assurez-vous d'avoir bien suivi les instructions ci-dessus. Assurez-vous également que vous n'utilisez aucun autre shell, comme zsh. Si vous l'êtes, vous devez ajouter l'instruction export dans le fichier Shell respectif. Pour zsh, le nom du fichier est .zshrc.


D'accord! Donc, comme vous avez mis à jour la question initiale avec d'autres questions. Voici donc l'explication point par point:

  1. Les fichiers que vous voyez dans /usr/local/bin dossier sont des fichiers binaires. En langage simple, ce sont des programmes exécutables. Ces binaires exécutables y vivent bien que vous puissiez les exécuter de n'importe où dans la ligne de commande.

  2. Le .bashrc le fichier se trouve dans le répertoire personnel de l'utilisateur. Sur Mac, c'est /Users/username. Dans votre cas, ce devrait être /Users/regina parce que tu t'appelles Regina.

  3. mongo est l'application cliente. Il est utilisé pour interagir avec la base de données mongodb. Et, mongod est le démon de base de données qui stocke les données. Donc, vous devez d'abord exécuter mongod, et ensuite vous seul pouvez vous y connecter en utilisant le client mongo et commencer à interroger.

35
Abhay PS