1. ホーム
  2. node.js

[解決済み] homebrewでnode.jsをインストールする際の問題点

2023-04-12 21:04:36

質問

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

どうすればいいのでしょうか?

どのように解決するのですか?

systemtap ディレクトリが自分のものでない可能性があります。に移動して /usr/local/share に移動して、あなた自身を所有者にするために、このコマンドを実行してください。

chown -R <yourusername>:<yourgroupname> systemtap

今日の午前中にこれと同じ問題を修正していたとき、私はさらに /usr/local に移動し、lib ディレクトリに対して同じことを行う必要がありました。