यह समस्या मुझे मार रही है और मुझे लगता है कि मैंने सब कुछ करने की कोशिश की है।/usr/bin/env: ln: प्रतीकात्मक लिंक के बहुत से स्तर
सबसे पहले, कैपिस्ट्रानो को अपग्रेड करते समय समस्या तब शुरू हो रही थी। तैनाती करते समय कैपिस्ट्रानो प्रत्येक आदेश से पहले/usr/bin/env का उपयोग करता है, यह सुनिश्चित करने के लिए कि पर्यावरण सेटअप सही है।
Capistrano आवश्यक साझा निर्देशिका और संबंधित फाइलों को सिमलिंक बनाने के लिए हो जाता है, ऐसा लगता है कि आदेशों का प्रयास:
/usr/bin/env ln -s /full/path /different/full/path
... और फिर इसे त्रुटियों आउट:
/usr/bin/env: ln: Too many levels of symbolic links
मुझे पता है यह Capistrano की गलती नहीं, इसलिए मैंने अपने सर्वर पर ssh'ing द्वारा समस्या निवारण शुरू किया और एक ही आदेश की कोशिश कर रहा है, और मुझे एक ही त्रुटि मिलती है (जो कम से कम स्थिरता के लिए अच्छा है)। मैं फिर/usr/bin/env:
ln -s /full/path /different/full/path
और यह काम करता है !!!! हो सकता है कि आप असली समाधान देख सकें जो मैं नहीं कर सकता?
यहाँ सिर्फ/usr/bin/env आदेश का आउटपुट है:
rvm_bin_path=/home/deployer/.rvm/bin
GEM_HOME=/home/deployer/.rvm/gems/ruby-1.9.3-p392
TERM=xterm-256color
SHELL=/bin/bash
IRBRC=/home/deployer/.rvm/rubies/ruby-1.9.3-p392/.irbrc
SSH_CLIENT=...
OLDPWD=/home/deployer/Sites/example.com
MY_RUBY_HOME=/home/deployer/.rvm/rubies/ruby-1.9.3-p392
SSH_TTY=/dev/pts/0
USER=deployer
LS_COLORS= .....
_system_type=Linux
rvm_path=/home/deployer/.rvm
SSH_AUTH_SOCK=....
rvm_prefix=/home/deployer
MAIL=/var/mail/deployer
PATH=/home/deployer/.rvm/gems/ruby-1.9.3-p392/bin:/home/deployer/.rvm/gems/[email protected]/bin:/home/deployer/.rvm/rubies/ruby-1.9.3-p392/bin:/home/deployer/.rvm/bin:/opt/rubyee/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/deployer/.rvm/bin
PWD=/home/deployer/Sites
LANG=en_US.UTF-8
_system_arch=i386
_system_version=12.04
rvm_version=1.26.4 (latest)
SHLVL=1
HOME=/home/deployer
LOGNAME=deployer
GEM_PATH=/home/deployer/.rvm/gems/ruby-1.9.3-p392:/home/deployer/.rvm/gems/[email protected]
SSH_CONNECTION=....
LESSOPEN=| /usr/bin/lesspipe %s
LESSCLOSE=/usr/bin/lesspipe %s %s
RUBY_VERSION=ruby-1.9.3-p392
_system_name=Ubuntu
_=/usr/bin/env
मैं भी निम्नलिखित की तरह आदेशों की कोशिश की है, संभावित सिमलिंक खोजने के लिए लूप:
find . -maxdepth 20 -type l -exec ls -ld {} +
लेकिन है उत्पादन नहीं सही परिणाम:
lrwxrwxrwx 1 deployer deployer ...
सिमलिंक जो Capistrano और पहले से ही बनाने के लिए मौजूद है कोशिश कर रहा है जब आप एक तैनाती चलाने यह स्वयं पाशन और इस त्रुटि पैदा हो गई। आप सेट का उपयोग कर capistrano स्क्रिप्ट में डिफ़ॉल्ट env पथ सेट कर सकते हैं: default_env। क्या आप अपना .bash_profile भी पोस्ट कर सकते हैं? Capistrano हमेशा एक गैर-लॉगिन, गैर-इंटरैक्टिव खोल निर्दिष्ट करता है, इसलिए जब यह लॉग इन होता है तो .bash_profile के लिए दिखता है। इससे भी मदद मिलेगी। – user944938
जैसा कि मैंने मूल पोस्ट में कहा था, मैं बिना किसी कैपिस्ट्रानो की समस्या का परीक्षण कर सकता था, मेरे सर्वर पर ssh'ing करके और उसी आदेश का प्रयास कर रहा था,/usr/bin/env prefixing के साथ। इसलिए, मैं साबित कर सकता हूं कि Capistrano कारण नहीं है। इसके अलावा, symlink पहले से ही एक तथ्य के लिए मौजूद नहीं है। जैसे मैंने कहा, मैन्युअल रूप से मेरे सर्वर पर कैपिस्ट्रानो के समान कमांड का प्रयास करते समय, मुझे एक ही त्रुटि मिलती है। (मैंने टोपी 3 के लिए सभी दस्तावेज़ भी पढ़े हैं, और मुझे इसके बारे में पता है: default_env चर, लेकिन जैसा कि मैंने कहा, समस्या capistrano के बाहर है।) मैं अपना .bashrc और .profile भी पोस्ट करूंगा। – mkralla11
इसे 'स्ट्रेस' के तहत चलाने का प्रयास करें? जैसा कि 'स्ट्रेस/usr/bin/env ln -s/full/path/different/full/path' में है - शायद यह एक साफ़ प्रदान करेगा। – RoUS