为什么我创建链接命令 ln -s 失败,不被允许呢?

2022-05-16 08:53:28 +08:00
 yazoox
ls -l /usr/bin/python
ls: /usr/bin/python: No such file or directory

ls -l /Users/yangzh/.pyenv/versions/2.7.18/bin/python2.7
-rwxr-xr-x  1 yangzh  staff  2112072 May 16 08:34 /Users/yangzh/.pyenv/versions/2.7.18/bin/python2.7

sudo ln -s "/Users/yangzh/.pyenv/versions/2.7.18/bin/python2.7" "/usr/bin/python"
ln: /usr/bin/python: Operation not permitted

sudo ln -s /Users/yangzh/.pyenv/versions/2.7.18/bin/python2.7 /usr/bin/python 
ln: /usr/bin/python: Operation not permitted

如上所示,我用 pyenv 安装了一个 python2.7 的版本,但是想链接一下,发现不能成功......

os 是 monterey 12.3.1

1778 次点击
所在节点    macOS
9 条回复
essethon
2022-05-16 09:00:09 +08:00
xtinput
2022-05-16 09:02:41 +08:00
换路径吧
deplivesb
2022-05-16 09:44:08 +08:00
你都用了 pyenv 了,为啥还要手动去链接?
Hack3rHan
2022-05-16 09:54:05 +08:00
/usr/bin 受到 macOS 的 SIP 保护
Richard14
2022-05-16 09:57:39 +08:00
@deplivesb 比如他要用第三方程序调用特定某个环境?
DosLee
2022-05-16 10:55:23 +08:00
放到 `/usr/local/bin` 下试试?
superrichman
2022-05-16 11:00:53 +08:00
MacOS 的 bin 目录是有 SIP 保护的除非你关掉它,不然不给你改的。你都用 pyenv 了,直接用 `pyenv local` 来指定某个目录的 python 环境就行了。
yazoox
2022-05-16 14:11:20 +08:00
@DosLee 谢谢。这个可以工作
@Richard14 是的。neovim 的环境,需要指定 python2 和 python3 的运行环境。

谢谢大家。我没有“想到”这个是 macOS 的 SIP 问题(今天才知道有这个... )
AlbertGuo
2022-05-16 17:24:08 +08:00
激活 pyenv 的环境再打开 neovim 是可以找到 python 的,python2 没有好像不影响使用吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/853067

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX