2012-09-27 16 views
8

Próbuję zainstalować nginx za pomocą menedżera pakietów parzenia, ale nie łączy. Jak mogę to naprawić?brew install nginx nie łączy się z

roc-web5537:Downloads cmuench$ brew install nginx 
Warning: Your Xcode (4.3.3) is outdated 
Please install Xcode 4.5. 
==> Installing nginx dependency: pcre 
==> Downloading ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.31.tar.bz2 
Already downloaded: /Library/Caches/Homebrew/pcre-8.31.tar.bz2 
==> ./configure --prefix=/usr/local/Cellar/pcre/8.31 --enable-utf8 --enable-unicode-properties --enable-pcregrep-libz --enable-pcregrep-libbz2 
==> make test 
==> make install 
Warning: Could not link pcre. Unlinking... 
Error: The `brew link` step did not complete successfully 
The formula built, but is not symlinked into /usr/local 
You can try again using `brew link pcre' 
==> Summary 
/usr/local/Cellar/pcre/8.31: 130 files, 3.2M, built in 18 seconds 
==> Installing nginx 
==> Downloading http://nginx.org/download/nginx-1.2.4.tar.gz 
Already downloaded: /Library/Caches/Homebrew/nginx-1.2.4.tar.gz 
==> Patching 
patching file conf/nginx.conf 
==> ./configure --prefix=/usr/local/Cellar/nginx/1.2.4 --with-http_ssl_module --with-pcre --with-ipv6 --with-cc-opt=-I/usr/local/include --with-ld-opt=-L/usr/local/lib --conf-path=/usr/loca 
==> make 
==> make install 
==> Caveats 
In the interest of allowing you to run `nginx` without `sudo`, the default 
port is set to localhost:8080. 

If you want to host pages on your local machine to the public, you should 
change that to localhost:80, and run `sudo nginx`. You'll need to turn off 
any other web servers running port 80, of course. 

You can start nginx automatically on login running as your user with: 
    mkdir -p ~/Library/LaunchAgents 
    cp /usr/local/Cellar/nginx/1.2.4/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/ 
    launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist 

Though note that if running as your user, the launch agent will fail if you 
try to use a port below 1024 (such as http's default of 80.) 
Warning: Could not link nginx. Unlinking... 
Error: The `brew link` step did not complete successfully 
The formula built, but is not symlinked into /usr/local 
You can try again using `brew link nginx' 
Warning: /usr/local/sbin is not in your PATH 
You can amend this by altering your ~/.bashrc file 
==> Summary 
/usr/local/Cellar/nginx/1.2.4: 9 files, 952K, built in 9 seconds 

Odpowiedz

18

Miałem ten problem kilka dni temu z instalacją Yeoman. Wygląda na to, że niektóre foldery w katalogu/usr/local mogą nie należeć do Ciebie i mogą powodować problemy. W moim przypadku miałem kilka folderów w/usr/local/like.

Przejdź do katalogu/usr/local

cd /usr/local 

zobacz kto jest właścicielem foldery

ls -l 

wykonaj następujące czynności dla folderów nie posiadanych przez ciebie (zastępujący sub-nazwa_folderu z podfoldery wymienić oczywiście):

sudo chown $(whoami) /usr/local/<sub-foldername> 

a następnie zadzwonić

brew link pcre 

Powinien łączyć pomyślnie.

Mam nadzieję, że to pomoże.

4

Może się to czasami zdarzyć, jeśli istnieją już pliki (lub dowiązania symboliczne) o tej samej nazwie. Aby wymusić połączenie, możesz użyć numeru brew link -f pcre. Jeśli chcesz sprawdzić, czy istnieją jakieś pliki blokujące link, możesz użyć brew link --dry-run pcre.

Jeśli nie ma żadnych plików wymienionych przez brew link --dry-run pcre, to prawdopodobnie odpowiedź jwwishart jest poprawna.

1

musiałem usunąć ręcznie i ponowne zainstalowanie PCRE i OpenSSL wtedy nginx będzie działać:

brew remove pcre 
brew remove openssl 
brew install pcre 
brew install openssl 
nginx 
Powiązane problemy