我无法对我的 .zshrc(或者我的 .bash_profile)进行任何更改,因为当我尝试时出现此错误:
/Users/ME/.zshrc:source:100: too many open files: /Users/ME/.zshrc
我试过了ulimit -n 10000
,但是没用。我还尝试添加一个 launchd.conf 文件(那里没有,我必须创建它)来永久更改硬文件和软文件限制,但是重启时,我的终端立即崩溃并显示一条Process Completed
消息。(删除 launchd.conf 文件并重启可修复此问题)。
这可能与此有关:出于某种原因,我的$PATH
变量非常长,有数千个字符。有很多重复的部分,例如,如果我执行以下命令,以下是我得到的结果的一部分echo $PATH
:
/Applications/MAMP/bin/php/php5.4.10/bin:/Applications/MAMP/bin/php/php5.4.10/bin:/Applications/MAMP/bin/php/php5.4.10/bin:/Applications/MAMP/bin/php/php5.4.10/bin:/Applications/MAMP/bin/php/php5.4.10/bin........
这样的情形持续了数百次。
这让我认为 MAMP 中的某些东西正在一遍又一遍地重写我的 $PATH 变量,从而导致了我所有的其他问题,但我找不到它发生在哪里,也不知道如何解决它。
有人遇到过这种情况吗?
答案1
这是一个十年前的问题,但是这些症状很容易在 ~/.zshrc 中重现:
path+=/Applications/MAMP/bin/php/php5.4.10/bin
source ~/.zshrc
这表明启动文件链中的某个东西正在为其中一个启动文件提供来源。
答案2
要查找 PATH 变量中损坏的内容,在 Mavericks 上,您需要检查以下文件:
cat /etc/paths
ls -l /etc/paths.d/
(我敢打赌你会发现一些有关 MAMP 的东西!)
我会将所有东西移到/etc/paths.d/
安全的地方,重新启动,看看是否有帮助。
如果确实如此(因为您也可以在其他地方拥有路径) - 从/etc/paths.d/
相关的“MAMP”发布文件,我们会查看。