需要更改PATH以进行Git升级

时间:2015-01-14 23:33:15

标签: ruby git bash heroku homebrew

当我运行echo $PATH时,我得到:

/usr/local/heroku/bin:/Users/<my account>/.rvm/gems/ruby-2.1.2/bin:/Users/<my account>/.rvm/gems/ruby-2.1.2@global/bin:/Users/<my account>/.rvm/rubies/ruby-2.1.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/<my account>/.rvm/bin

我很确定/ usr / local / heroku / bin不应该是第一个,我无法弄清楚如何用Vim编辑路径。

我从Brew医生处收到关于Git的错误。

Warning: /usr/bin occurs before /usr/local/bin

这意味着将使用系统提供的程序而不是那些程序 由Homebrew提供。两个路径都存在以下工具:

git
git-cvsserver
git-receive-pack
git-shell
git-upload-archive
git-upload-pack

Consider setting your PATH so that /usr/local/bin
occurs before /usr/bin. Here is a one-liner:
    echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile

显然我已经尝试过实施“一线”,但它没有做任何事情:

当我运行brew upgrade git时,我收到了:

Error: git 2.2.1 already installed

但是当我运行git --version时,我得到了:

git version 1.9.3 (Apple Git-50)

2 个答案:

答案 0 :(得分:1)

将此信息放入.bashrc文件中(请确保备份,引用.bashrc可能很危险:

export PATH="$PATH:/path/to/dir/to/add"

这将在您下次启动bash时为PATH变量添加一个目录。如果您希望以不同的顺序解析目录,您可以手动设置它。例如,变量包含/bin/usr:/usr/,并且您希望/usr位于另一个目录之前,请将其添加到.bashrc

export PATH='/usr:/bin/usr'

请注意,添加此行对您的bashrc文件无害,因此可能根本不需要备份。

编辑:确保在测试更改之前重新启动bash,只有在打开新shell后才会应用它们。

Edit2:您也可以在命令行中执行该行,但在打开新shell时,PATH将更改回旧值。

简而言之(双关语)这样做:

 echo 'export $PATH=/usr/local/bin:/usr/local/heroku/bin:/Users/robertrice/.rvm/gems/ruby-2.1.2/bin:/Users/robertri‌​ce/.rvm/gems/ruby-2.1.2@global/bin:/Users/robertrice/.rvm/rubies/ruby-2.1.2/bin:/bin:/usr/sbin:/sbin:usr/bin:/Users/robertrice/.rvm/bin' >> ~/.bashrc

答案 1 :(得分:1)

这是您搜索路径的顺序:

/usr/local/heroku/bin
/Users/<my account>/.rvm/gems/ruby-2.1.2/bin
/Users/<my account>/.rvm/gems/ruby-2.1.2@global/bin
/Users/<my account>/.rvm/rubies/ruby-2.1.2/bin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
/Users/<my account>/.rvm/bin

你会遇到一些问题:

  • 您的RVM初始化最后没有发生,因此RVM会在某个时候开始抱怨。
  • 您的/ usr / bin位于/ usr / local / bin。
  • 之前

在〜/ .bashrc和〜/ .bash_profile中查找修改PATH的命令/行。调整它们:

  • RVM是最初初始化或可以修改路径的东西。
  • / usr / local / bin后面紧跟着/ usr / bin,允许你添加的命令覆盖系统命令。
  • 特定事物的路径,如Heroku路径,可以是,除非它们的命令与/ usr / local / bin:/ usr / bin中的命令相同。在这种情况下,请在/ usr / local / bin之前添加Heroku路径。

如果您不了解如何使用Vim,则无需使用Vim进行编辑。相反,请尝试使用piconano进行编辑,因为它们默认安装在Mac OS X上,并且易于使用。 (但从长远来看,学习如何使用Vim,因为它是地球上最强大的编辑器之一,几乎可以在任何你可以使用的操作系统上使用。)