Homebrew 'Services' komutunu kullanma konusunda yardıma mı ihtiyacınız var


9

MongoDB'yi son zamanlarda homebrew kullanarak kurdum. Web'deki birkaç makale aşağıdaki komutu kullanarak mongo başlatmanızı önerir,

brew services start mongo

Ama bu komutu kullandığımda, aşağıdaki mesajı alıyorum,

Error: Unknown command: services

Bu sorun hakkında çevrimiçi arama yapmayı denedim. Ama şimdiye kadar şans yok. burdaki problem ne olabilir? Homebrew'u web sitelerinde belirtildiği gibi kurdum. Bu özellik neden çalışmıyor?

Ve man sayfasında 'servisler' komutu ile ilgili bilgi yok.

Yanıtlar:


8

services oldu Homebrew bir "gizli" komutu. brew helpÇıktıdabulunmayan bir grup vardı. Belgelenmemiş komutların yapmayacağı gibi, resmi depoda kaybolmuş ve başka bir eklenti deposunda tutulanbir " harici komut "haline gelmiştir(bu durumda bu kadar basit bir özü).

Homebrew kurulumunuza çalıştırarak kurabilirsiniz:

> 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

Alternatif olarak atlayabilir servicesve bunun için bir plist dosyası oluşturabilirsiniz. Örneğin, aşağıdakilerle oluşturun ~/Library/LaunchAgents/org.mongodb.mongod.plist:

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

Sadece {your_username}gerçek kullanıcı adınızı değiştirin ve çalıştırın:

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

plist'i launchd ile kaydetmek için. Şimdi MongoDB'yi başlatabilir ve durdurabilirsiniz:

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

Yukarıdaki plist çözümünün bu mükemmel Stack Overflow cevabından alınmıştır .


2

Artık harici:

brew tap homebrew/services

brew services install, brew services installşimdi çalış.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.