yazoox
V2EX  ›  macOS

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

  •  
  •   yazoox · May 16, 2022 · 3184 views
    This topic created in 1635 days ago, the information mentioned may be changed or developed.
    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 replies  •  2022-05-16 17:24:08 +08:00
    xtinput
    xtinput
    May 16, 2022
    2
    换路径吧
    deplivesb
    deplivesb
    May 16, 2022
    3
    你都用了 pyenv 了,为啥还要手动去链接?
    Hack3rHan
    Hack3rHan
    May 16, 2022 via iPhone
    4
    /usr/bin 受到 macOS 的 SIP 保护
    Richard14
    Richard14
    May 16, 2022
    5
    @deplivesb 比如他要用第三方程序调用特定某个环境?
    DosLee
    DosLee
    May 16, 2022
    6
    放到 `/usr/local/bin` 下试试?
    superrichman
    superrichman
    May 16, 2022
    7
    MacOS 的 bin 目录是有 SIP 保护的除非你关掉它,不然不给你改的。你都用 pyenv 了,直接用 `pyenv local` 来指定某个目录的 python 环境就行了。
    yazoox
    yazoox
    OP
    May 16, 2022
    8
    @DosLee 谢谢。这个可以工作
    @Richard14 是的。neovim 的环境,需要指定 python2 和 python3 的运行环境。

    谢谢大家。我没有“想到”这个是 macOS 的 SIP 问题(今天才知道有这个... )
    AlbertGuo
    AlbertGuo
    May 16, 2022
    9
    激活 pyenv 的环境再打开 neovim 是可以找到 python 的,python2 没有好像不影响使用吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4829 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 07:30 · PVG 15:30 · LAX 23:30 · JFK 02:30
    ♥ Do have faith in what you're doing.