2015-07-13 39 views
34

我试图用自制安装Node.js的(我安装了它以前不使用BREW,我已经试过删除所有这些文件)。我看过以前的问题,提出类似的问题,但我一直无法让他们工作。首先我想brew link node这给了我:麻烦安装的node.js用自制

[email protected]:~$ 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我得到如下:

[email protected]:~$ 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找到文件,手动删除,我设法删除其中的一些,但我仍然留下以下文件,我不能删除:

[email protected]:~$ 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 

当我尝试删除我得到以下g(所有这些文件都是相同的):

[email protected]:~$ rm /usr/local/etc/bash_completion.d/npm 
rm: /usr/local/etc/bash_completion.d/npm: No such file or directory 

我该怎么办?

+0

为什么要使用brew? – Qualcuno

回答

67

这可能是你实际上并不拥有你的systemtap目录。导航到/usr/local/share,为了运行此命令,以使自己的拥有者:

chown -R <yourusername>:<yourgroupname> systemtap 

当我今天早些时候解决这个同样的问题,我不得不又进入/usr/local做同样的事情lib目录。

+0

这对我有效。谢谢! – buschschwick

+2

不要忘记“sudo”。sudo chown -R systemtap – 1nstinct

+29

“sudo chown -R $(whoami)/ usr/local/share/systemtap”为我工作 – kequc

10

,或者,核实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 

然后自己添加到所有者组(在这种情况下,车轮)

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

然后改变tapset权限,以允许组编辑

sudo chmod -R 775 /usr/local/share/systemtap/tapset/ 
2
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 
+0

不适用于我:( –

1

什么工作对我来说:

  1. cd /usr/local/share
  2. sudo chown -R <user>:<group> systemtap(难道1 太)

上述步骤均失败。去了下一个答案。审判;

ls -al /usr/local/share/systemtap/ 它扔了 '未找到错误。'

然后:brew link node被抛出一个错误。所以我做:

  • sudo rm -rf /usr/local/lib/node_modules
  • brew postinstall node -v
  • ,最后brew link node
  • node -v :)
  • 所以基本上我删除了所有node_modules/文件夹和重做一切。