Эта проблема меня убивает, и я чувствую, что все перепробовал.
Во-первых, проблема началась при обновлении до Capistrano 3. Capistrano теперь использует / 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 и попробовав ту же команду, и получаю ту же ошибку (что, по крайней мере, хорошо для согласованности). Затем я пробую ту же команду без / 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/ruby-1.9.3-p392@global/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/ruby-1.9.3-p392@global
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 ...
strace
? Как вstrace /usr/bin/env ln -s /full/path /different/full/path
- может быть, это даст ключ к разгадке. - person RoUS   schedule 15.01.2015