Necesita ayuda para usar el comando Homebrew 'Servicios'

9

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, recibo el siguiente mensaje,

Error: Unknown command: services

Traté de buscar este problema en línea. Pero no hay suerte hasta ahora. Cual podría ser el problema aquí? Instalé homebrew como se especificaba en su sitio web. ¿Por qué esta función no funciona para mí?

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

Ganz7
fuente

Respuestas:

8

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

Puede instalarlo en su configuración 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 hacer un archivo plist para ello. Por ejemplo, cree ~/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 la lista 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 .

Ian C.
fuente
2

Ahora es externo:

brew tap homebrew/services

brew services install, brew services installahora trabajo.

kbrock
fuente
0

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.

ninjaPixel
fuente