V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yazoox
V2EX  ›  macOS

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

  •  
  •   yazoox · 44 天前 · 1182 次点击
    这是一个创建于 44 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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

    9 条回复    2022-05-16 17:24:08 +08:00
    xtinput
        2
    xtinput  
       44 天前
    换路径吧
    deplivesb
        3
    deplivesb  
       44 天前
    你都用了 pyenv 了,为啥还要手动去链接?
    Hack3rHan
        4
    Hack3rHan  
       44 天前 via iPhone
    /usr/bin 受到 macOS 的 SIP 保护
    Richard14
        5
    Richard14  
       44 天前
    @deplivesb 比如他要用第三方程序调用特定某个环境?
    DosLee
        6
    DosLee  
       44 天前
    放到 `/usr/local/bin` 下试试?
    superrichman
        7
    superrichman  
       44 天前
    MacOS 的 bin 目录是有 SIP 保护的除非你关掉它,不然不给你改的。你都用 pyenv 了,直接用 `pyenv local` 来指定某个目录的 python 环境就行了。
    yazoox
        8
    yazoox  
    OP
       44 天前
    @DosLee 谢谢。这个可以工作
    @Richard14 是的。neovim 的环境,需要指定 python2 和 python3 的运行环境。

    谢谢大家。我没有“想到”这个是 macOS 的 SIP 问题(今天才知道有这个... )
    AlbertGuo
        9
    AlbertGuo  
       44 天前
    激活 pyenv 的环境再打开 neovim 是可以找到 python 的,python2 没有好像不影响使用吧
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1084 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 21:56 · PVG 05:56 · LAX 14:56 · JFK 17:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.