web-dev-qa-db-ja.com

homebrewでnode.jsをインストールできない

HomebrewでNode.jsをインストールしようとしています(以前はbrewを使用せずにインストールし、それらのファイルをすべて削除しようとしました)。同様のことを尋ねる以前の質問を見てきましたが、それらを機能させることができませんでした。最初にbrew link nodeを試しました。

myusername@c126h060:~$ brew link node
Linking /usr/local/Cellar/node/0.12.6... 
Error: Could not symlink share/systemtap/tapset/node.stp
Target /usr/local/share/systemtap/tapset/node.stp
already exists. You may want to remove it:
  rm '/usr/local/share/systemtap/tapset/node.stp'

To force the link and overwrite all conflicting files:
  brew link --overwrite node

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

そして、brew link --overwrite nodeを実行すると、次の結果が得られます。

myusername@c126h060:~$ brew link --overwrite node
Linking /usr/local/Cellar/node/0.12.6... 
Error: Could not symlink share/systemtap/tapset/node.stp
/usr/local/share/systemtap/tapset is not writable.

また、brew link -n nodeを使用して手動で削除するファイルを見つけようとすると、それらのいくつかを削除できましたが、削除できない次のファイルが残っています。

myusername@c126h060:~$ brew link -n node
Would link:
/usr/local/etc/bash_completion.d/npm
/usr/local/bin/node
/usr/local/include/node
/usr/local/share/man/man1/node.1
/usr/local/share/systemtap/tapset/node.stp
/usr/local/lib/dtrace/node.d

削除しようとすると、次のメッセージが表示されます(これらのファイルはすべて同じです)。

myusername@c126h060:~$ rm /usr/local/etc/bash_completion.d/npm
rm: /usr/local/etc/bash_completion.d/npm: No such file or directory

私は何をすべきか?

59
mlinegar

実際にsystemtapディレクトリを所有していない可能性があります。案内する /usr/local/shareそして、自分を所有者にするために次のコマンドを実行します。

chown -R <yourusername>:<yourgroupname> systemtap

本日以前にこの同じ問題を修正していたとき、/usr/localとlibディレクトリに対して同じことを行います。

118
verbranden

または、代わりにsystemtapの所有権と許可を確認します

$ ls -al /usr/local/share/systemtap/
drwxr-xr-x   3 root  wheel  102 Oct 23 18:06 .
drwxrwxr-x  15 root  wheel  510 Oct 24 20:24 ..
drwxr-xr-x   2 root  wheel   68 Oct 24 20:17 tapset

所有者グループに追加します(この場合はwheel)

Sudo dscl . append /Groups/wheel GroupMembership <username>

次に、タップセットの権限を変更して、グループの編集を許可します

Sudo chmod -R 775 /usr/local/share/systemtap/tapset/
17
cluther

私のために働いたもの:

  1. cd /usr/local/share
  2. Sudo chown -R <user>:<group> systemtap/usr/localも1と2でした)

上記の手順は失敗していました。次の答えに行きました。試した;

ls -al /usr/local/share/systemtap/は、「見つかりません」エラーをスローしました。

その後:brew link nodeはエラーをスローしていました。だから私はやった:

  1. Sudo rm -rf /usr/local/lib/node_modules
  2. brew postinstall node -v
  3. そして最後にbrew link node
  4. node -v :)

したがって、基本的にすべてのnode_modules/フォルダーを削除し、すべてを再編集しました。

11
Asim K T
arun:~$ brew link node
Linking /usr/local/Cellar/node/0.12.6... 
Error: Could not symlink share/systemtap/tapset/node.stp
Target /usr/local/share/systemtap/tapset/node.stp
already exists. You may want to remove it:
  rm '/usr/local/share/systemtap/tapset/node.stp'

以下のコマンドを実行

brew postinstall node -v
brew link node 
7
arunkumar sambu

ユーザー名を取得し、

そして、あなたのグループを取得します:(複数になる可能性があり、一般的には「管理者」です)

whoami
groups

次に、例:

Sudo chown -R chrislee:admin /usr/local/share/systemtap/
3
coderChrisLee