8

brewパッケージマネージャーを使用してnginxをインストールしようとしていますが、リンクに失敗します。どうすればこれを修正できますか?

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
4

3 に答える 3

19

Yeoman のインストールで数日前にこの問題が発生しました。/usr/local 内の一部のフォルダーはあなたが所有していない可能性があり、それが問題を引き起こす可能性があるようです。私の場合、そのような /usr/local/ にいくつかのフォルダーがありました。

/usr/local に移動します

cd /usr/local

フォルダの所有者を確認する

ls -l

自分が所有していないフォルダーに対して次の操作を行います (サブフォルダー名を明らかにサブフォルダー名に置き換えます)。

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

そして電話する

brew link pcre

正常にリンクされるはずです。

お役に立てれば。

于 2012-10-02T20:21:01.973 に答える
4

これは、同じ名前のファイル (またはシンボリックリンク) が既に存在する場合に発生することがあります。リンクを強制するには、 を使用できますbrew link -f pcre。リンクを妨げているファイルがあるかどうかを確認したい場合は、brew link --dry-run pcre.

によってリストされたファイルがない場合brew link --dry-run pcreは、jwwishart の回答が正しい可能性があります。

于 2012-10-06T13:59:43.763 に答える
1

手動で削除し、pcre と openssl を再インストールする必要がありました。その後、nginx が機能します。

brew remove pcre
brew remove openssl
brew install pcre
brew install openssl
nginx
于 2014-02-26T00:04:32.160 に答える