Besoin d'aide pour utiliser la commande Homebrew 'Services'

9

J'ai installé MongoDB en utilisant homebrew récemment. Quelques articles sur le web conseillent de démarrer mongo en utilisant la commande suivante,

brew services start mongo

Mais lorsque j'utilise cette commande, j'obtiens le message suivant,

Error: Unknown command: services

J'ai essayé de rechercher ce problème en ligne. Mais pas de chance pour l'instant. Quel pourrait être le problème ici? J'ai installé homebrew comme il a été spécifié sur leur site Web. Pourquoi cette fonctionnalité ne fonctionne-t-elle pas pour moi?

Et la page de manuel ne contient aucune information concernant la commande «services».

Ganz7
la source

Réponses:

8

services était une commande "cachée" dans Homebrew. Il y en avait un tas qui n'étaient pas présents dans labrew helpsortie. Comme les commandes non documentées ont l'habitude de le faire, elle a disparu dans le référentiel officiel et est devenue une " commande externe " maintenue dans un autre référentiel de modules complémentaires (dans ce cas, un élément essentiel car il est si simple).

Vous pouvez l'installer dans votre configuration Homebrew en exécutant:

> curl -o /usr/local/bin/brew-services.rb https://gist.githubusercontent.com/lwe/766293/raw/75a7907004bbff0eb3b072d1d951be2cfe7e5020/brew-services.rb
> chmod +x /usr/local/bin/brew-services.rb
> brew services help
usage: [sudo] brew services [--help] <command> [<formula>]

Small wrapper around `launchctl` for supported formulas, commands available:
   cleanup Get rid of stale services and unused plists
   list    List all services managed by `brew services`
   restart Gracefully restart selected service
   start   Start selected service
   stop    Stop selected service

Options, sudo and paths:

  sudo   When run as root, operates on /Library/LaunchDaemons (run at boot!)
  Run at boot:  /Library/LaunchDaemons
  Run at login: /Users/ian/Library/LaunchAgents

Alternativement, vous pouvez ignorer serviceset créer simplement un fichier plist. Par exemple, créez ~/Library/LaunchAgents/org.mongodb.mongod.plistavec:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>org.mongodb.mongod</string>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/Cellar/mongodb/2.6.4/bin/mongod</string>
    <string>run</string>
    <string>--config</string>
    <string>/usr/local/Cellar/mongodb/2.6.4/mongod.conf</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
  <key>KeepAlive</key>
  <false/>
  <key>UserName</key>
  <string>{your_username}</string>
  <key>WorkingDirectory</key>
  <string>/usr/local</string>
  <key>StandardErrorPath</key>
  <string>/usr/local/var/log/mongodb/output.log</string>
  <key>StandardOutPath</key>
  <string>/usr/local/var/log/mongodb/output.log</string>
</dict>
</plist>

Modifiez simplement {your_username}votre nom d'utilisateur réel, puis exécutez:

launchctl load ~/Library/LaunchAgents/org.mongodb.mongod.plist 

pour enregistrer le plist avec launchd. Vous pouvez maintenant démarrer et arrêter MongoDB avec:

launchctl start org.mongodb.mongod
launchctl stop org.mongodb.mongod

Remarque, la solution ci-dessus a été tirée de cette excellente réponse Stack Overflow .

Ian C.
la source
2

Il est désormais externe:

brew tap homebrew/services

brew services install, brew services installfonctionne maintenant.

kbrock
la source
0

Theres est une interface graphique utile sur le site Web MongoDB, si vous ne souhaitez pas modifier manuellement les fichiers.

http://blog.mongodb.org/post/28925264384/macosx-preferences-pane-for-mongodb

Le volet des préférences MacOSX pour MongoDB vise à fournir une interface utilisateur simple et efficace pour contrôler l'état d'un serveur MongoDB local, tout comme le volet des préférences MySQL.

ninjaPixel
la source