brew install nginx fails to link

匿名 (未验证) 提交于 2019-12-03 02:52:02

问题:

I am attempting to install nginx using the brew package manager, but it fails to link. How can I fix this?

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 

回答1:

I had this issue a few days ago with installation of Yeoman. It seems that some of the folders in /usr/local might not be owned by you and that can cause issues. In my case I had a couple of folders in /usr/local/ like that.

Go to /usr/local

cd /usr/local 

Check who owns the folders

ls -l 

Do the following for folders not owned by you (replacing sub-foldername with sub folders name obviously):

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

and then call

brew link pcre 

It should link successfully.

Hope this helps.



回答2:

This can sometimes happen if there area already files (or symlinks) with the same name. To force a link, you can use brew link -f pcre. If you want to see whether there are any files preventing the link, you can use brew link --dry-run pcre.

If there are no files listed by brew link --dry-run pcre, then it is likely that jwwishart's answer is the correct one.



回答3:

I had to remove manually and reinstall pcre and openssl then nginx will work:

brew remove pcre brew remove openssl brew install pcre brew install openssl nginx 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!