dongyong1897
2018-03-11 15:47
浏览 43

OSX在尝试安装自制软件时不尊重PATH

I have installed homebrew-php php72 on OSX high sierra. Strangely when I run php I still get the pre-installed php 7.1 - even more strangely when I run which php it tells me that it will use the homebrew version from /usr/local/bin not the pre-installed version in /usr/bin. I dont have an aliases set up.

Some shell output:

$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/sbin:/sbin:/opt/X11/bin

$ which php
/usr/local/bin/php

$ php --version
PHP 7.1.7 (cli) (built: Jul 15 2017 18:08:09) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

$ /usr/local/bin/php --version
PHP 7.2.3 (cli) (built: Mar  8 2018 10:30:06) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.3, Copyright (c) 1999-2018, by Zend Technologies

$ /usr/bin/php --version
PHP 7.1.7 (cli) (built: Jul 15 2017 18:08:09) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

$ alias | grep php # There are no aliases
$

$ type -a php
php is /usr/local/bin/php
php is /usr/bin/php

I cant think of any reason this could happen any ideas?

Thanks NFV

图片转代码服务由CSDN问答提供 功能建议

我在OSX high sierra上安装了homebrew-php php72。 奇怪的是,当我运行php时,我仍然得到预先安装的php 7.1 - 更奇怪的是当我运行哪个php 它告诉我它将使用来自 / usr / local / bin的自制软件版本 不是 / usr / bin 中的预安装版本。 我没有设置别名。

一些shell输出:

  $ echo $ PATH 
 / usr / local / bin:  / bin:/ usr / bin:/ usr / sbin:/ sbin:/ opt / X11 / bin 
 
 $ php php 
 / usr / local / bin / php 
 
 $ php --version 
PHP  7.1.7(cli)(建立:2017年7月15日18:08:09)(NTS)
版权所有(c)1997-2017 PHP Group 
Zend Engine v3.1.0,版权所有(c)1998-2017 Zend Technologies 
  
 $ / usr / local / bin / php --version 
PHP 7.2.3(cli)(内置:2018年3月8日10:30:06)(NTS)
版权所有(c)1997-2018 PHP小组
Zend 引擎v3.2.0,版权所有(c)1998-2018 Zend Technologies 
与Zend OPcache v7.2.3,版权所有(c)1999-2018,作者:Zend Technologies 
 
 $ / usr / bin / php --version 
PHP  7.1.7(cli)(建立:2017年7月15日18:08:09)(NTS)
版权所有(c)1997-2017 PHP Group 
Zend Engine v3.1.0,版权所有(c)1998-2017 Zend Technologies 
  
 $别名|  grep php#没有别名
 $ 
 
 $ type -a php 
php是/ usr / local / bin / php 
php是/ usr / bin / php 
   \  n 
 

我无法想到任何可能发生这种想法的原因吗?

谢谢 NFV

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • duancui19840401 2018-03-11 16:04
    已采纳

    As discussed in the commands hash -r fixed the issue. From help hash:

      -r                forget all remembered locations
    

    And just for the record: Why not use “which”? What to use then?

    已采纳该答案
    打赏 评论

相关推荐 更多相似问题