web-dev-qa-db-ja.com

エラー:「ブリューリンク」ステップは正常に完了しませんでした

Homebrew経由でnode.jsをインストールしようとしています。残念ながら、私はこのエラーが出ます:

➜  ~  brew install node
==> Downloading http://nodejs.org/dist/v0.8.10/node-v0.8.10.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/node/0.8.10
==> make install
==> Caveats
Homebrew installed npm.
We recommend prepending the following path to your PATH environment
variable to have npm-installed binaries picked up:
  /usr/local/share/npm/bin
Warning: Could not link node. 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 node'
==> Summary
/usr/local/Cellar/node/0.8.10: 856 files, 13M, built in 103 seconds

だから私は手動でノードをリンクしようとしています...

➜  ~  brew link node
Linking /usr/local/Cellar/node/0.8.10... Warning: Could not link node. Unlinking...

Error: Could not symlink file: /usr/local/Cellar/node/0.8.10/lib/node_modules/npm/scripts/relocate.sh
Target /usr/local/lib/node_modules/npm/scripts/relocate.sh already exists. You may need to delete it.
To force the link and delete this file, do:
  brew link -f formula_name

To list all files that would be deleted:
  brew link -n formula_name

運が悪いので、強制的にノードをリンクしてみます...

➜  ~  brew link -f node
Linking /usr/local/Cellar/node/0.8.10... Warning: Could not link node. Unlinking...

Error: Permission denied - /usr/local/lib/dtrace/node.d

私はdtraceにはなじみがありませんし、パーミッションをめちゃくちゃにするのが怖いので、Sudoを試してみました。

➜ ~ git:(master) Sudo brew link -f node
Password:
Error: Cowardly refusing to `Sudo brew link'
You can use brew with Sudo, but only if the brew executable is owned by root.
However, this is both not recommended and completely unsupported so do so at
your own risk.

私はbrew uninstall node経由でnodeをアンインストールし、運が悪くてもインストールを再試行しました。

150
chandlervdw

Node.js用のhomebrewパッケージに再びnpmが含まれるようになったので、最初にスタンドアロンバージョンを削除することに関するhomebrewパッケージのメッセージを見逃したときに、これが起こりました。

私のように、最初にnpm uninstall npm -gを知る前にアップグレードを試みることによって既にnode/npmを壊したと仮定すると、あなたはrm -rf /usr/local/lib/node_modules/npmそして次にbrew link nodeをすることができます。これは独立型自己ホスト型npmパッケージを削除し(brewがインストールしたいものではなく)、brewにそのバンドルされたものをCellarからシンボリックリンクさせます。

119
natevw

私はMac OS X Mavericksを実行しています。私はノード0.10.25をインストールしようとしました、そして、一番上の答えは私のために働きませんでした。

natevwはrm -rf /usr/local/lib/node_modules/npmに言いますが、/usr/local/lib/node_modulesのパーミッションがこのようになっているとします。

drwxr-xr-x   3 root      admin   102 Feb  2 20:45 node_modules

その後、brewはそのディレクトリにnpmシンボリックリンクを作成することができなくなります。これが私の解決策です:

ステップ1:自作を更新する

$ brew update

ステップ2:システムの至る所にあるnode/npmを削除します

過去にnode/npmをインストールした方法によっては、これらのコマンドのいくつかは不要です。

$ brew uninstall npm
$ brew uninstall node
$ npm uninstall npm -g
$ Sudo rm -rf /usr/local/lib/node_modules

注:brew -v link nodeを実行することによって見つけた漂遊ノードファイルがありました(これはbrewが言っていたリンクエラーの冗長な出力を私に与えました)。あなたがする必要があるかもしれません:

$ Sudo rm -rf /usr/local/include/node
$ Sudo rm -rf /usr/local/lib/node

ステップ3:新しい端末を開いてノードをインストールする

$ brew install node
147
franksort
Sudo chown -R $(whoami) /usr/local 

bREWサイトのトラブルシューティングに記載されているように、うまくいくでしょう。

https://github.com/Homebrew/homebrew/wiki/troubleshooting

39
Talal

おそらく別の方法で古いバージョンのnode.jsを既にインストールしているので、邪魔になっているファイルを手動で削除する必要があります。

brew link -n nodeを実行し、それらの競合するファイルおよびディレクトリを手動で削除してから、brew link nodeをもう一度試してください。

36
Trevor Dixon

私は少し遅れて、私のために働いたのはこれでした:

* npm uninstall npm -g

* brew uninstall node

* brew install node

* Sudo rm -rf /usr/local/lib/dtrace/node.d

* brew link node (caused error with permissions)

* Sudo chmod 777 /usr/local/lib/dtrace/node.d

* brew link node

このシーケンスの後にすべてが成功しました

33
Will

これを試して。別の参考文献から手に入れて私のために働いた。

Sudo brew uninstall node
brew update
brew upgrade
brew cleanup
brew install node
Sudo chown -R $(whoami) /usr/local
brew link --overwrite node
Sudo brew postinstall node
14
Randula

すべてのアプリケーションを古いMacから新しいMacに転送した後も、同じ問題が発生しました。

私はbrew doctorを実行することによって解決策を見つけました:

警告:壊れたシンボリックリンクが見つかりました。 brew Pruneでそれらを削除してください

brew Pruneを実行した後、Homebrewはついにトラックに戻ります:)

9
Kévin L. R.

tHX @suweller。

私は問題を修正しました:

➜  bin git:(master) ✗ brew link node
Linking /usr/local/Cellar/node/0.10.25... Warning: Could not link node. Unlinking...

Error: Permission denied - /usr/local/lib/node_modules/npm

私は住人と同じ問題を抱えていました:

➜  bin git:(master) ✗ ls -la /usr/local/lib/ | grep node
drwxr-xr-x   3 24561  wheel   102 11 Okt  2012 node
drwxr-xr-x   3 24561  wheel   102 27 Jan 11:32 node_modules

だから私はこの問題を修正しました:

➜  bin git:(master) ✗ Sudo chown $(users) /usr/local/lib/node_modules
➜  bin git:(master) ✗ Sudo chown $(users) /usr/local/lib/node

私はこの問題を解決した後、私は別のものを手に入れた

➜  bin git:(master) ✗ brew link node
Linking /usr/local/Cellar/node/0.10.25... Warning: Could not link node. Unlinking...

Error: Could not symlink file: /usr/local/Cellar/node/0.10.25/lib/dtrace/node.d
Target /usr/local/lib/dtrace/node.d already exists. You may need to delete it.
To force the link and overwrite all other conflicting files, do:
  brew link --overwrite formula_name

To list all files that would be deleted:
  brew link --overwrite --dry-run formula_name

だから私はnode.dを削除しました:

➜  bin git:(master) ✗ Sudo rm /usr/local/lib/dtrace/node.d

別の権限エラーが発生しました。

➜  bin git:(master) ✗ brew link node
Linking /usr/local/Cellar/node/0.10.25... Warning: Could not link node. Unlinking...

Error: Could not symlink file: /usr/local/Cellar/node/0.10.25/lib/dtrace/node.d
/usr/local/lib/dtrace is not writable. You should change its permissions.

そしてそれを修正しました:

➜  bin git:(master) ✗ Sudo chown $(users) /usr/local/Cellar/node/0.10.25/lib/dtrace/node.d

そして最後にすべてがうまくいった:

➜  bin git:(master) ✗ brew link node
Linking /usr/local/Cellar/node/0.10.25... 1225 symlinks created
4
zero3nna

私の問題は少し異なる解決策を持っていました。 brewがシンボリックリンクを作成したいディレクトリは、現在のユーザーが所有していませんでした。

ls -la /usr/local/bin/lib/node | grep nodeの結果:

drwxr-xr-x    3 24561  wheel   102 May  4  2012 node
drwxr-xr-x    7 24561  wheel   238 Sep 18 16:37 node_modules

私にとっては、次のように修正しました。

Sudo chown $(users) /usr/local/bin/lib/node_modules
Sudo chown $(users) /usr/local/bin/lib/node

ps。 $(users)はあなたのユーザー名に拡張されます、私の方法から少し遅れてコピーペーストを手助けするために行きました;)

4
suweller

ノードに関するほとんどのBrewインストールの問題は、権限エラー、または以前にノードをインストールしてからBREWでインストールしようとしたことが原因で発生します。私のために働いた解決策はついにでした:

警告:これは注意して使用しているnodejs(複数のバージョン)をアンインストールします。

  1. BREWでノードを削除します。

    brewアンインストールノード

  2. 力でもやった:

    brewアンインストールノード--force

  3. スクリプトSourceを使用するには、 ノードの削除

    curl -O https://raw.githubusercontent.com/DomT4/scripts/master/OSX_Node_Removal/terminatenode.sh

その後:

chmod +x /path/to/terminatenode.sh

その後:

./terminatenode.sh .
  1. その後、必ず次のコマンドを実行してください。

    chown $ USER/usr/local

  2. それからbrew updateを行います(全てが更新されるまでこれを続けます):

    ブリューアップデート

  3. クリーンアップしてアップデートを再度実行し(冗長かもしれません)、問題がないことを確認するためにdoctorを実行します。

    クリーンアップ更新を醸造します。醸造医者

  4. そして最後にbrew経由でノードをインストールします(冗長)

    brew install -v node

3
AhsenB

最終的な答えは、そのディレクトリの所有者をあなたが誰であるかに変更することです。

Sudo chown -R `whoami` /usr/local/include

あなたが醸造医者を実行するならば、それは醸造によっても勧められます

2
Bobo

インストール中にノードと/ usr/local/includeをリンクできないというエラーが発生しました

以下の解決策は私のために働いた: -最初にincludeフォルダを作成します。これにはSudo権限が必要であることに注意してください

cd /usr/local

Sudo mkdir include

Sudo chown -R $(whoami) $(brew --prefix)/*

brew link node
1
Pukhraj soni

私は自分のNPMを台無しにし、これらのHomebrewバージョン間でパッケージをインストールしました、そして何度何度リンクを解除/リンクし、アンインストール/インストールしたノードがそれでもうまくいかなかったとしても。

結局のところ、あなたはパスからNPMを削除しなければならない、そうでなければHomebrewはそれをインストールしない: https://github.com/mxcl/homebrew/blob/master/Library/Formula/node.rb#L117

これが同じ問題を抱えている人の助けになり、その時間を節約できることを願います。

1
dain

私はしばらくこれに苦労していました。 (私にとっては "npm uninstall npm -g"は何もしなかった)

私はたくさんのことを試してみました:

npm uninstall npm -g
brew uninstall node
brew install node

私はまだいくつかの問題を抱えていたと私はノードファイルをリンクしようとしたときにエラーを得ていました

最後に私はこれを試した

brew link --overwrite node

それはそれを修正したようです。 (競合するファイルをすべて上書きし、nodeとnpmもリンクします)

お役に立てれば

0
Tanuj

次のコマンドを使用して、El Capitanでこれを修正しました。正直なところ、それが何をするのかわかりませんが、問題が解決したので共有したいと思いました。

brew link --overwrite node
0
Fizzix

それが良い考えであるかどうかわからない:成功せずに他のすべての解決策を試した後、私は単に/ usr/local/lib/dtrace、リンクノードの名前を変更し、ディレクトリの名前を変更しました。その後、ノードは期待通りに動作しました。

0
Alex Maiburg

ノードのシンボリックリンクに頭を悩ませていましたが、うまくいくようには見えませんでした...しかし最後にうまくいったのは、適切な権限の設定です。この 'Sudo chown -R $(whoami)/ usr/local'は私のために仕事をしました。

0
Shahsayyad

ファインダーでは、このファイルを削除します。

/usr/local/lib/dtrace/node.d

ターミナルで:

$ brew link --overwrite --dry-run node

その後:

$ brew link node
0
monimen

私はbrewを完全にアンインストールして、もう一度同じ問題を見つけるためだけに始めました。

Brewは必要なバイナリをあなたのシステムにシンボリックリンクすることでうまくいくようです。

ここに既存のノードライブラリのセットが見つかりました。

/usr/local/include/node

頭を掻いた後、私はこの古いバージョンに対して日付でノードをインストールすることを覚えていました、そして、それは醸造によるものではありませんでした。

このフォルダ全体を手動で削除し、npmにリンクしました。

これは、なぜbrewアンインストールまたはuninstall brew自体を使用しても効果がなかったのかを説明するものです。

最高ランクの答えは非常に単純にこれを置きます、しかし私はそれがなぜ必要であるかについての私の観察を加えたいと思いました。

私は他のBrewパッケージに関する多くの問題が邪魔をしているパッケージの古いBrew以外のインスタンスによって引き起こされているのではないかと思います。

0
Henry