होमब्रे के माध्यम से स्थापित पोस्टग्रेज को शुरू करने की कोशिश करते समय त्रुटि: ऑपरेशन की अनुमति नहीं है


24

मैं हाल ही में Homebrew के माध्यम से अपने मैक पर Postgres स्थापित किया है। (मेरे पास पहले से ही यह स्थापित हो सकता है यह नहीं चल रहा था)

brew install postgres
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents

अब मैं इसे शुरू करने की कोशिश कर रहा हूं launchctl:

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

... लेकिन मुझे एक त्रुटि मिल रही है:

/usr/local/Cellar/postgresql/9.4.0/homebrew.mxcl.postgresql.plist: Operation not permitted

इस त्रुटि का मतलब क्या है? मैं क्या गलत कर रहा हूं? मैं समस्या को कैसे ठीक कर सकता हूं?


जाहिरा तौर पर काढ़ा / OSX कभी कभी सब कुछ काम करने से पहले एक पुनरारंभ की आवश्यकता है । समस्या-समाधान-मोड में आने से पहले: क्या आपने इसे बार-बार बंद करने की कोशिश की ?
agtoever

रिबूटिंग कुछ भी नहीं बदलता है।
नील

सहमत, रिबूट करने से समस्या हल नहीं हुई।
एंड्रयू

जवाबों:


84

यह हो सकता है कि आप launchctlTmux या स्क्रीन के अंदर उपयोग कर रहे हों ।

Tmux और Screen एक टर्मिनल मल्टीप्लेक्सर्स जो कई "स्क्रीन" को स्पॉन करते हैं जिन्हें आप आसानी से सिंगल टर्मिनल में बदल सकते हैं।

मेरे लिए किसी अज्ञात कारण से, launchctlTmux के अंदर दौड़ना कभी काम नहीं करता है, और त्रुटि का उत्सर्जन करता है Operation not permitted। इसे एक सामान्य खोल के अंदर चलाएं और यह शायद ठीक काम करेगा।


धन्यवाद! आप सही कह रहे हैं, मैं उपयोग कर रहा था tmux! हालाँकि, मैं अब एक अलग मुद्दे पर चल रहा हूँ। launchctlबाहर का उपयोग करते हुए tmux, मुझे "ऑपरेशन पहले से ही प्रगति में है", फिर भी मैं पोस्टग्रेज से कनेक्ट नहीं कर सकता।
एंड्रयू

मैं unloadलॉन्च एजेंट प्लिस्ट के कुछ संयोजन के माध्यम से अपनी समस्या को हल करने में कामयाब रहा , पोस्टग्रेज की पुरानी स्थापना को हटाकर, पुरानी डेटा निर्देशिका को स्थानांतरित करना और नवीनतम संस्करण को पुनर्स्थापित करना।
एंड्रयू

अंत में मैंने इस पर ठोकर खाई और जवाब दिया कि मैं एक महीने से अधिक समय से संघर्ष कर रहा हूं। अंत में मुझे इसका कारण पता है ...
kenju254

2
इसका एक समाधान यह है कि यहां दिए गए अनुसार reattach-to-user-session का उपयोग करें: Apple.stackexchange.com/questions/41412/… अपने .tmux.conf
bibstha

2

यहां वे चरण हैं जिन्हें आपको लेने की आवश्यकता हो सकती है:

Postgres की पिछली स्थापना निकालें:

brew remove postgres
rm ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

नया संस्करण स्थापित करें:

brew install postgres
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents

आपके पिछले इंस्टॉलेशन के डेटा को पोस्टग्रेज 9.4+ के साथ संगत होने के लिए अपग्रेड करने की आवश्यकता होगी: http://www.postgresql.org/docs/9.4/static/upmission.html

ऐसा लगता है कि आपको अपने डेटाबेस को अपग्रेड करने के लिए Postgres की दो स्थापनाओं की आवश्यकता है, और मैंने इससे परेशान होने की परवाह नहीं की, इसलिए मैंने अभी नए संस्करण के साथ डेटाबेस को फिर से बनाया है:

mv /usr/local/var/postgres /usr/local/var/old-postgres
initdb -D /usr/local/var/postgres

अब Postgres लॉन्च करें ( tmuxयदि आप इसका उपयोग कर रहे हैं तो बाहर ):

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

किसी भी समस्या के लिए लॉग की जाँच करें:

tail /usr/local/var/postgres/server.log

0

क्या दौड़ने brew doctorसे समस्या हल हो जाती है या फिर कुछ भी हो जाता है?

(मैं अभी तक टिप्पणी पोस्ट नहीं कर सकता लेकिन इससे समस्या को ठीक करने में मदद मिल सकती है)

संपादित करें - मैं भागूंगा:

brew doctor
brew update
brew doctor
brew cleanup

से किसी भी चेतावनी को साफ करने के बाद भी मदद नहीं करता है brew doctor
नील
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.