【问题标题】:Modifying /private/etc/paths did not change $PATH after a reboot重新启动后修改 /private/etc/paths 没有改变 $PATH
【发布时间】:2013-03-24 10:57:41
【问题描述】:

这里是 rMBP。我不确定负责执行此操作的脚本是什么。基本上我想将python utils的路径添加到$PATH...

例如,我为了得到pip而酿造了pythonbrew python,然后运行pip install flake8。现在

$ which flake8
flake8 not found

$ find / | grep flake8
...
......
/usr/local/share/python/flake8

$ ls -la /usr/local/share/python/
total 32
drwxr-xr-x   6 lust  admin  204 Apr  2 18:15 .
drwxr-xr-x  15 lust  admin  510 Apr  2 18:12 ..
lrwxr-xr-x   1 lust  admin   45 Apr  2 18:13 Extras -> ../../Cellar/python/2.7.3/share/python/Extras
-rwxr-xr-x   1 lust  admin  389 Apr  2 18:15 flake8
-rwxr-xr-x   1 lust  admin  385 Apr  2 18:15 pep8
-rwxr-xr-x   1 lust  admin  405 Apr  2 18:15 pyflakes

好的!

$ cat /private/etc/paths
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

$ sudo vim /private/etc/paths
$ cat /private/etc/paths
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
/usr/local/share/python

制作一个新的外壳,检查$PATH,python 不存在。好的。

重启,启动一个新的shell,检查$PATH,python still不存在。

哦,顺便说一句,解决方案是追加,像export PATH=$PATH:newpath,因为我实际上并不关心从命令行运行flake8,我想要Sublime Text 3 的 SublimeLinter 插件可以真正知道它在哪里,而无需在编辑器的设置中添加一些 hacky 配置。

【问题讨论】:

  • 我不确定/private 在 OSX 中的用途,但您是否尝试过仅编辑 /etc/paths?如果您只关心自己的用户,只需将export PATH=/usr/local/bin:$PATH 放入您的~/.profile~/.bashrc 或任何适合您的shell 的地方。
  • /etc/paths 似乎是 /private/etc/paths 的镜像,即重启后它包含相同的内容。

标签: macos unix path


【解决方案1】:

我发现了问题。作为 oh-my-zsh 的一部分,zsh 设置为在 ~/.zshrc 中设置 PATH。我没有考虑到这一点。在不使用命令行调用的情况下启动 ST3 时,它会获得自己的(不正确的)路径环境变量,因此该部分仍然不起作用。然而,该问题的最终解决方案是here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-06
    • 1970-01-01
    • 2014-01-11
    • 2017-08-13
    • 2016-07-12
    • 1970-01-01
    • 2016-05-16
    相关资源
    最近更新 更多