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をアンインストールし、運が悪くてもインストールを再試行しました。
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からシンボリックリンクさせます。
私は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シンボリックリンクを作成することができなくなります。これが私の解決策です:
$ brew update
過去に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
$ brew install node
Sudo chown -R $(whoami) /usr/local
bREWサイトのトラブルシューティングに記載されているように、うまくいくでしょう。
おそらく別の方法で古いバージョンのnode.jsを既にインストールしているので、邪魔になっているファイルを手動で削除する必要があります。
brew link -n node
を実行し、それらの競合するファイルおよびディレクトリを手動で削除してから、brew link node
をもう一度試してください。
私は少し遅れて、私のために働いたのはこれでした:
* 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
このシーケンスの後にすべてが成功しました
これを試して。別の参考文献から手に入れて私のために働いた。
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
すべてのアプリケーションを古いMacから新しいMacに転送した後も、同じ問題が発生しました。
私はbrew doctor
を実行することによって解決策を見つけました:
警告:壊れたシンボリックリンクが見つかりました。
brew Prune
でそれらを削除してください
brew Prune
を実行した後、Homebrewはついにトラックに戻ります:)
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
私の問題は少し異なる解決策を持っていました。 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)
はあなたのユーザー名に拡張されます、私の方法から少し遅れてコピーペーストを手助けするために行きました;)
ノードに関するほとんどのBrewインストールの問題は、権限エラー、または以前にノードをインストールしてからBREWでインストールしようとしたことが原因で発生します。私のために働いた解決策はついにでした:
警告:これは注意して使用しているnodejs(複数のバージョン)をアンインストールします。
BREWでノードを削除します。
brewアンインストールノード
力でもやった:
brewアンインストールノード--force
スクリプトSourceを使用するには、 ノードの削除 :
curl -O https://raw.githubusercontent.com/DomT4/scripts/master/OSX_Node_Removal/terminatenode.sh
その後:
chmod +x /path/to/terminatenode.sh
その後:
./terminatenode.sh .
その後、必ず次のコマンドを実行してください。
chown $ USER/usr/local
それからbrew updateを行います(全てが更新されるまでこれを続けます):
ブリューアップデート
クリーンアップしてアップデートを再度実行し(冗長かもしれません)、問題がないことを確認するためにdoctorを実行します。
クリーンアップ更新を醸造します。醸造医者
そして最後にbrew経由でノードをインストールします(冗長)
brew install -v node
最終的な答えは、そのディレクトリの所有者をあなたが誰であるかに変更することです。
Sudo chown -R `whoami` /usr/local/include
あなたが醸造医者を実行するならば、それは醸造によっても勧められます
インストール中にノードと/ usr/local/includeをリンクできないというエラーが発生しました
以下の解決策は私のために働いた: -最初にincludeフォルダを作成します。これにはSudo権限が必要であることに注意してください
cd /usr/local
Sudo mkdir include
Sudo chown -R $(whoami) $(brew --prefix)/*
brew link node
私は自分のNPMを台無しにし、これらのHomebrewバージョン間でパッケージをインストールしました、そして何度何度リンクを解除/リンクし、アンインストール/インストールしたノードがそれでもうまくいかなかったとしても。
結局のところ、あなたはパスからNPMを削除しなければならない、そうでなければHomebrewはそれをインストールしない: https://github.com/mxcl/homebrew/blob/master/Library/Formula/node.rb#L117
これが同じ問題を抱えている人の助けになり、その時間を節約できることを願います。
私はしばらくこれに苦労していました。 (私にとっては "npm uninstall npm -g"は何もしなかった)
私はたくさんのことを試してみました:
npm uninstall npm -g
brew uninstall node
brew install node
私はまだいくつかの問題を抱えていたと私はノードファイルをリンクしようとしたときにエラーを得ていました
最後に私はこれを試した
brew link --overwrite node
それはそれを修正したようです。 (競合するファイルをすべて上書きし、nodeとnpmもリンクします)
お役に立てれば
次のコマンドを使用して、El Capitanでこれを修正しました。正直なところ、それが何をするのかわかりませんが、問題が解決したので共有したいと思いました。
brew link --overwrite node
それが良い考えであるかどうかわからない:成功せずに他のすべての解決策を試した後、私は単に/ usr/local/lib/dtrace、リンクノードの名前を変更し、ディレクトリの名前を変更しました。その後、ノードは期待通りに動作しました。
ノードのシンボリックリンクに頭を悩ませていましたが、うまくいくようには見えませんでした...しかし最後にうまくいったのは、適切な権限の設定です。この 'Sudo chown -R $(whoami)/ usr/local'は私のために仕事をしました。
ファインダーでは、このファイルを削除します。
/usr/local/lib/dtrace/node.d
ターミナルで:
$ brew link --overwrite --dry-run node
その後:
$ brew link node
私はbrewを完全にアンインストールして、もう一度同じ問題を見つけるためだけに始めました。
Brewは必要なバイナリをあなたのシステムにシンボリックリンクすることでうまくいくようです。
ここに既存のノードライブラリのセットが見つかりました。
/usr/local/include/node
頭を掻いた後、私はこの古いバージョンに対して日付でノードをインストールすることを覚えていました、そして、それは醸造によるものではありませんでした。
このフォルダ全体を手動で削除し、npmにリンクしました。
これは、なぜbrewアンインストールまたはuninstall brew自体を使用しても効果がなかったのかを説明するものです。
最高ランクの答えは非常に単純にこれを置きます、しかし私はそれがなぜ必要であるかについての私の観察を加えたいと思いました。
私は他のBrewパッケージに関する多くの問題が邪魔をしているパッケージの古いBrew以外のインスタンスによって引き起こされているのではないかと思います。