当我试图为Node设置最大的记忆时,我突然想到了这一点。我被告知在终点站进入export NODE_OPTIONS=--max_old_space_size=4096,这一切都成功了。然而,当我关闭终端并再次打开它时,环境选项就消失了。我不得不再次进入它来设置env。
后来,我想知道是否可以将这个选项写到~/..zshrc文件中,我发现它对所有文件都是有效的。
所以,我在想,如果这只是巧合,还是类似于./zshrc文件中的导出--命令中导出的永久版本?
发布于 2022-06-01 19:39:41
.zshrc只是一个由每个交互式shell获取的文件,就像您在命令行中输入了命令一样。
然而,.zprofile文件是设置环境变量的更好选择。它仅由登录shell提供,但任何非登录交互shell都可能从某些登录shell继承其环境。
发布于 2022-06-02 09:44:30
不要忘记,.zshrc只是为交互式shell提供的。如果您也需要在非交互式shell中设置,~/.zshenv将是一个更好的选择。
在任何一种情况下,您都必须意识到以下后果:
如果在当前shell中手动设置变量,其目的是重写在dotfile中执行的设置,则创建子shell将再次从dotfile恢复设置,覆盖当前设置。
如果不喜欢这种效果,可以在~/.zprofile中设置值。这将只在登录-shell中执行(当然也会继承到所有子进程)。只有当您创建一个新的登录-zsh作为子shell,这个文件将再次来源,并破坏您在调用shell中所做的可能的手动更改。
另一种可能是使用(即~/.zshenv ),但只有在尚未有值的情况下才设置该值:
: ${NODE_OPTIONS:=--max_old_space_size=4096}
export NODE_OPTIONS尽管这使用两行而不是一行,但我建议使用这一方法,因为它允许您在需要时重写所有子still的值,但如果没有发生重写操作,仍然可以确保设置合适的默认值。
https://stackoverflow.com/questions/72464484
复制相似问题