无法使用自制软件安装 node.js
Trouble install node.js with homebrew
我正在尝试使用 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 目录做同样的事情。
或者,或者,验证 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>
然后更改 tapset 的权限以允许群组编辑
sudo chmod -R 775 /usr/local/share/systemtap/tapset/
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
对我有用的:
cd /usr/local/share
sudo chown -R <user>:<group> systemtap
(也为 /usr/local
做了 1 和 2)
以上步骤失败。转到下一个答案。尝试过;
ls -al /usr/local/share/systemtap/
抛出 'Not found error.'
然后:brew link node
抛出错误。所以我做了:
sudo rm -rf /usr/local/lib/node_modules
brew postinstall node -v
- 最后
brew link node
node -v
:)
所以基本上我删除了所有 node_modules/
文件夹并重新制作了所有内容。
获取您的用户名,
并得到你的组:(可以多个,一般是'admin')
whoami
groups
然后,例如:
sudo chown -R chrislee:admin /usr/local/share/systemtap/
以下食谱对我有用:
- 添加您的用户名以添加组 wheel
sudo dscl . append /Groups/wheel GroupMembership username
sudo chmod -R 775 /usr/local/share/systemtap/tapset/
sudo rm -rf /usr/local/lib/node_modules
brew cleanup
brew link node
brew uninstall --force node
brew install node
然后使用 node -v
和 npm -v
检查版本。
只需在命令 npm install expo-cli --global 的开头添加 sudo
喜欢 sudo npm install expo-cli --global
并按回车键。
希望对您有所帮助。
这个命令是对我的错误信息的回答。它将文件夹权限更改为当前用户:
sudo chown -R $(whoami) /usr/local/share/systemtap
我正在尝试使用 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 目录做同样的事情。
或者,或者,验证 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>
然后更改 tapset 的权限以允许群组编辑
sudo chmod -R 775 /usr/local/share/systemtap/tapset/
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
对我有用的:
cd /usr/local/share
sudo chown -R <user>:<group> systemtap
(也为/usr/local
做了 1 和 2)
以上步骤失败。转到下一个答案。尝试过;
ls -al /usr/local/share/systemtap/
抛出 'Not found error.'
然后:brew link node
抛出错误。所以我做了:
sudo rm -rf /usr/local/lib/node_modules
brew postinstall node -v
- 最后
brew link node
node -v
:)
所以基本上我删除了所有 node_modules/
文件夹并重新制作了所有内容。
获取您的用户名,
并得到你的组:(可以多个,一般是'admin')
whoami
groups
然后,例如:
sudo chown -R chrislee:admin /usr/local/share/systemtap/
以下食谱对我有用:
- 添加您的用户名以添加组 wheel
sudo dscl . append /Groups/wheel GroupMembership username
sudo chmod -R 775 /usr/local/share/systemtap/tapset/
sudo rm -rf /usr/local/lib/node_modules
brew cleanup
brew link node
brew uninstall --force node
brew install node
然后使用 node -v
和 npm -v
检查版本。
只需在命令 npm install expo-cli --global 的开头添加 sudo
喜欢 sudo npm install expo-cli --global
并按回车键。
希望对您有所帮助。
这个命令是对我的错误信息的回答。它将文件夹权限更改为当前用户:
sudo chown -R $(whoami) /usr/local/share/systemtap