【问题标题】:zsh export path works when directly type in terminal, but not work when put in /.zshrczsh 导出路径在终端直接输入时有效,但在输入 /.zshrc 时无效
【发布时间】:2018-01-02 19:42:45
【问题描述】:

我对让它工作感到沮丧......我正在使用 zsh,从教程中它需要我将这三行放在 .zshrc 中才能让 android sdk 工作

export ANDROID_HOME="$HOME/Library/Android-SDK"
export PATH="$HOME/Library/Android-SDK/tools:$PATH"
export PATH="$HOME/Library/Android-SDK/platform-tools:$PATH"

但是,在我完成它们之后,zsh 总是说

zsh: command not found: android

我在 Google 和 SO 上进行了搜索,发现了几篇提出类似问题的帖子,所以我几乎都尝试过了,比如删除双引号、将 $PATH 放在前面、删除导出关键字等,但是它们都不适合我。我已经重启了 iTerm 甚至我的电脑。

但是,一旦我直接在终端中逐行输入它们,然后使用android,它就可以工作了!

这里的原因是什么?或者我应该把它们放在哪里才能永久生效?

谢谢大家。

【问题讨论】:

  • 试着说which android 这将为您提供系统所指的android的路径。现在看看该文件是否是符号链接。如果是符号链接,去删除符号链接,看看它是否有效?符号链接可能指向不存在的位置。
  • 简单地编辑.zshrc不会影响当前会话。您需要手动 (source .zshrc) 或隐式(通过启动新的 shell 会话)获取编辑后的文件以执行新命令。
  • @Abhinav 感谢您的回复!当我尝试这样做时,我得到了android not found。我还发现在终端中运行这三个命令会保持永久效果,所以我现在可能会坚持下去
  • @chepner 感谢您的建议!下次遇到类似情况时我会试试。至于现在,直接在终端中运行它们会给我一个永久的效果

标签: shell path zsh zshrc


【解决方案1】:

据我所知,您需要告诉.zsh 加载路径。

  • 在您的主文件夹中,您应该会看到一个隐藏的 .zsh.after 文件夹
  • 创建一个名为00-path.zsh的新文件
  • 打开该文件并添加以下内容:

path=( $path /usr/local/bin: /usr/local/sbin: /usr/bin:/bin: /usr/sbin: /sbin: /Users/<YOUR_USERNAME>/.yadr/bin: /Users/YOUR_USERNAME/.yadr/bin/yadr: /Users/YOUR_USERNAME/Library/Android/sdk/tools: /Users/YOUR_USERNAME/Library/Android/sdk/platform-tools/: /Users/YOUR_USERNAME/Library/Android/sdk/build-tools/23.0.3/ )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-07
    • 2012-01-31
    • 1970-01-01
    • 2020-07-01
    • 1970-01-01
    相关资源
    最近更新 更多