Necesito ayuda para usar el comando 'Servicios' de Homebrew

Instalé MongoDB usando homebrew recientemente. Algunos artículos en la web aconsejan iniciar mongo usando el siguiente comando,

brew services start mongo

Pero cuando uso este comando, aparece el siguiente mensaje:

Error: Unknown command: services

Intenté buscar sobre este problema en línea. Pero sin suerte hasta ahora. Cual podría ser el problema aquí? Instalé homebrew como estaba especificado en su sitio web. ¿Por qué no me funciona esta característica?

Y la página del manual no tiene información sobre el comando 'servicios'.

Respuestas (3)

services era un comando "oculto" en Homebrew. Había un montón de ellos que no estaban presentes en labrew helpsalida. Ha desaparecido, como suelen hacer los comandos no documentados, en el repositorio oficial y se ha convertido en un " comando externo " mantenido en otro repositorio de complementos (en este caso, una esencia, ya que es tan simple).

Puede instalarlo en su configuración de Homebrew ejecutando:

> 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

Alternativamente, puede omitir servicesy simplemente crear un archivo plist para ello. Por ejemplo, crea ~/Library/LaunchAgents/org.mongodb.mongod.plistcon:

<?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>

Simplemente cambie {your_username}a su nombre de usuario real y luego ejecute:

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

para registrar el plist con launchd. Ahora puede iniciar y detener MongoDB con:

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

Tenga en cuenta que la solución plist anterior se tomó de esta excelente respuesta de desbordamiento de pila .

Ahora es externo:

brew tap homebrew/services

brew services install, brew services installahora trabaja.

Hay una GUI útil en el sitio web de MongoDB, si no desea modificar archivos manualmente.

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

El panel de preferencias de MacOSX para MongoDB tiene como objetivo proporcionar una interfaz de usuario simple y eficiente para controlar el estado de un servidor MongoDB local, al igual que el panel de preferencias de MySQL.