2012-03-24 19 views
11

मैं शेर पर रूबी समर्थन के साथ सादे विम का उपयोग करता हूं (gist द्वारा स्थापित)। मैं rbenv साथ गहरे लाल रंग का उपयोग कर रहा हूँ तो मेरे पथ /users/me/.rbenv/shims की तरह दिखता है: .....

vim के भीतर से रास्ता है

:!echo $PATH 
> usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Users/fb/.rbenv/shims:.... 

मुझे भी बना सकते हैं और एक संशोधित कर सकते हैं पर्यावरण चर:

:let $PATH = "/bar:/foo" 
:!echo $PATH 
> /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/foo:/bar 

पथ/usr/bin के साथ पथ बना रहता है।

तो मैं अपने रूबी 1.9.3 ~/.rbenv/shims में कैसे/usr/bin में सिस्टम रूबी के बजाय कैसे पहुंच सकता हूं?

उत्तर

4

है मैं टी, .vimrc में shell विकल्प सेट did'n जिससे यह अपने आप को स्थापित किया गया था sourced हो जाता है कि /bin/zsh

तब मुझे पता चला कि मैं rbenv का एक गणतंत्र प्रारंभिकरण हूं: my .zshrc में। मैंने .zshrc में प्रारंभिक अंत $ PATH extensioin को हटा दिया क्योंकि यह पहले से ही ओह-my-zsh rbenv प्लगइन द्वारा संभाला गया था।

यहां तक ​​कि सफाई के बाद, $ पथ mangeling अभी भी बहुत हो रहा :!echo $PATH

/usr/bin:/बिन:/usr/sbin:/sbin:/usr/स्थानीय/बिन:/usr/X11 /bin:/Users/fb/.rbenv/shims:/Users/fb/.rbenv/bin:/Users/fb/bin:/usr/local/sbin:/usr/games

स्थापना :set shell=/bin/bash था मेरी मदद किसने की, क्योंकि मैं अपने विम में बैश के साथ रह सकता हूं: :!echo $PATH

/Users/fb/.rbenv/shims:/Users/fb/.rbenv/bin:/Users/fb/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/ बिन:/sbin:/bin:/usr/games:/उपयोगकर्ता/एफबी/ड्रॉपबॉक्स/स्थानीय/बाश

2

में अपने ~/.bashrc (या जो भी खोल आप उपयोग कर रहे) फ़ाइल, निम्न पंक्ति जोड़ें: (! या .zshrc या जो कुछ भी खोल आप उपयोग कर रहे)

PATH=/home/me/.rbenv/shims:${PATH} 

और फिर source ~/.bashrc चलाने ओएस एक्स पर

+0

यदि आप इसे '~/.bash_profile' में डालते हैं तो आपको स्रोत कमांड चलाने की आवश्यकता नहीं होगी (यह हर बार जब आप एक नया खोल शुरू करते हैं तो वह स्वचालित रूप से उस आदेश को चलाएगा) – Jwosty

+0

सच - उस बारे में नहीं सोचा था। यद्यपि आपने संपादित किए जाने वाले प्रत्येक खोल के लिए केवल एक बार स्रोत कमांड चलाने की आवश्यकता होगी, जब आपने ~/.bashrc संपादित किया था। मेरे सिर में मैं zsh से bash तक अनुवाद कर रहा था - मैं वास्तव में उसे उसे अपने ~/.zshrc में रखने के लिए बताना चाहता था :) –

+0

उत्तर देने के लिए धन्यवाद। मैं zsh का उपयोग करता हूं और नहीं .bashrc और न ही .bash_profile है। परीक्षण के लिए मैंने उन्हें बनाया, लेकिन यह मदद नहीं करता है। मैं zsh का उपयोग करता हूं और मेरा पथ टर्मिनल और Iterm2 दोनों में सही सेट है। – fbehrens

0

हाँ यह bash_profile जब एक नया कंसोल विंडो खोलने जबकि लिनक्स पर यह अपने bashrc

5

आरवीएम भी यह समस्या है। यदि /etc/zshenv प्रारंभ होता है तो zsh आपका डिफ़ॉल्ट खोल होता है।

यह /usr/libexec/path_helper निष्पादित करता है। यह सामग्री /etc/paths और /etc/paths.d/ पर आधारित पथ सेट करता है।

faq for rvm/etc/zshenv/zsh/zshrc पर जाने का उल्लेख करता है। मैंने यह किया और मैकवीम में अपने पथ की शुरुआत से /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin हटा दिया।

+0

मैंने '/ etc/paths 'को बदल दिया और यह मेरे लिए काम किया। ** धन्यवाद! ** यह जानना बहुत अच्छा है। – duma

1

यह सिर्फ

PATH=/home/me/.rbenv/shims:${PATH} 

जोड़ने

/etc/zshenv 
30

यह a known problem introduced by Apple in OS X 10.5 Leopard है द्वारा निर्धारित किया जा सकता है।

यदि आप बैश या जेएसएच का उपयोग कर रहे हैं और गैर-इंटरैक्टिव गोले का उपयोग कर रहे हैं, तो आप प्रभावित हैं।

sudo chmod ugo-x /usr/libexec/path_helper रनिंग आपको ठीक कर देगा, लेकिन आपको यह देखने के लिए लेख पर एक नज़र डालना चाहिए।

+1

धन्यवाद , मेरा विम अब उलझन में नहीं है। – attomos

+3

यह समाधान पूरी तरह से काम करता है। लेकिन मुझे tpope के [vim-rbenv] द्वारा प्रदान किया गया सुझाव मिला (https: // gith ub.com/tpope/vim-rbenv#faq) बेहतर होने के लिए क्योंकि यह अभी भी 'path_helper' के निष्पादन को इंटरैक्टिव शैल पर निष्पादित करने में सक्षम बनाता है। बस 'सुडो एमवी/आदि/zshenv/etc/zshrc' और vim कहते हैं हाँ! – Tiago

+1

इससे मदद मिली! धन्यवाद! –

0

मै मैक या जेएसएच (मैं लिनक्स पर हूं) का उपयोग नहीं करता, हालांकि मै मैट मेनू से जीवीआईएम चलाता था, हालांकि मैं इस समस्या में भाग गया।

मैं अपने .vimrc को यह जोड़कर इसे हल:

if $PATH !~ "\.rbenv" 
    let $PATH="/home/username/.rbenv/shims:/home/username/.rbenv/bin:" . $PATH 
endif 

यह स्थापित करता है, तो आप एक टर्मिनल से vim चलाने से बचा जाता है, अन्यथा rbenv रास्तों दो बार शामिल किया जाएगा।

मैंने टर्मिनल के माध्यम से चलाने के लिए एप्लिकेशन को सेट करने का प्रयास किया, लेकिन इससे मदद नहीं मिली।

संबंधित मुद्दे