当前位置: 首页 > 面试题库 >

在OS X上设置环境变量

蒲曦
2023-03-14
问题内容

在OS X中修改环境变量(如PATH)的正确方法是什么?

我稍微看了一下Google,发现需要编辑三个不同的文件:

  • /etc/paths
  • 〜/ .profile
  • 〜/ .tcshrc

我什至没有这些文件,而且我很确定.tcshrc是错误的,因为OS X现在使用bash。这些变量(尤其是PATH)在哪里定义?

我正在运行OS X v10.5(Leopard)。


问题答案:

布鲁诺是正确的。我已经进行了广泛的研究,如果您想设置所有GUI应用程序中都可用的变量,则唯一的选择是/etc/launchd.conf

  1. 打开终端提示

  2. 类型sudo vi /etc/launchd.conf(注意:此文件可能尚不存在)

  3. 将如下内容放入文件中

# Set environment variables here so they are available globally to all apps
# (and Terminal), including those launched via Spotlight.
#
# After editing this file run the following command from the terminal to update
# environment variables globally without needing to reboot.
# NOTE: You will still need to restart the relevant application (including
# Terminal) to pick up the changes!
# grep -E "^setenv" /etc/launchd.conf | xargs -t -L 1 launchctl
#
# See http://www.digitaledgesw.com/node/31
# and http://stackoverflow.com/questions/135688/setting-environment-variables-in-os-x/
#
# Note that you must hardcode the paths below, don't use environment variables.
# You also need to surround multiple values in quotes, see MAVEN_OPTS example below.
#
setenv JAVA_VERSION 1.6
setenv JAVA_HOME /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home
setenv GROOVY_HOME /Applications/Dev/groovy
setenv GRAILS_HOME /Applications/Dev/grails
setenv NEXUS_HOME /Applications/Dev/nexus/nexus-webapp
setenv JRUBY_HOME /Applications/Dev/jruby

setenv ANT_HOME /Applications/Dev/apache-ant
setenv ANT_OPTS -Xmx512M

setenv MAVEN_OPTS "-Xmx1024M -XX:MaxPermSize=512m"
setenv M2_HOME /Applications/Dev/apache-maven

setenv JMETER_HOME /Applications/Dev/jakarta-jmeter
  1. 在vi中保存所做的更改,然后重新启动Mac。或使用上面的代码注释中显示的grep/xargs命令。

  2. 通过打开“终端”窗口并键入来证明您的变量正在工作,export并且您应该看到新的变量。这些也将在IntelliJ IDEA和您通过Spotlight启动的其他GUI应用程序中提供。



 类似资料:
  • 我读过几个关于如何在OSX上永久设置环境变量的答案。

  • 自从升级到OSX Mountain Lion之后,我在为eclipse和Maven设置环境变量时遇到了一些问题。 我的目标是在Eclipse中运行一个maven命令。该命令需要从远程存储库下载人工制品(解析依赖项)。存储库通过HTTPS进行身份验证。 (另请参见在Mac OS X Lion上设置环境变量)这对OSX Lion非常有效。 但苹果在Mountain Lion上改变了这种行为。我读过en

  • 问题内容: 我知道这个问题以前已经问过很多,但是我确实读过,我会告诉你我所得到的。 我将列出在 OS X Yosemite 10.10.1* 中执行的命令 * Java版本 java -fullversion 哪个java 未设置Java home变量,因为当我这样做时: echo $ java_home 或 echo $ JAVA_HOME 或 echo $ Java_Home 我在终端上什么也

  • 在presto的上下文中,我认为我所能做的就是运行SQL。有经验的人吗?

  • 问题内容: 我在下面的代码中只想设置一个环境变量: 运行此文件: 该调用可以正确打印,但是随后我希望在会话中也设置此env变量,但是: 什么都没有,它是空的。这是预期的行为吗?如果是这样,我如何使这个env变量在我的会话中保持不变,并使用类似这样的程序对其进行设置? 问题答案: 创建新流程时,将复制父流程的环境。在新流程中对环境所做的更改不会影响父流程。修改环境后,您必须让程序启动Shell。