android studio 在build.gradle写代码执行的command与在终端执行中不一样

RockyZhang 发布于 2015/10/12 01:05
阅读 1K+
收藏 0

系统MAC OS X EI CAPTIAN 

软件android studio 1.4正式版

今天由于同时更新了系统和IDE出现了问题,不太好定位.

问题描述,

    在终端里执行了which svn

结果指向的是我的自己下载的svn(1.8)

但是android studio在编译的时候执行代码

通过gradle 调用命令行的方法执行结果却不一样

控制台打印出来的却是 系统自带的svn

由于我的work copy svn的版本已经为1.8 所以需要更新svn,

同时测试whoami 命令用户名都是一个.

为什么同一个user下 执行同样的命令  结果却不一样.

郁闷...

加载中
0
RockyZhang
RockyZhang

找到问题原因所在了.不知道为什么gradle取的不是用户下设置的path svn 命令

解决方案

切换到root

sudo -i



删除usr/bin下的目录的svn
rm -rf /usr/bin/svn*



将opt下的svn链接到usr/bin

ln -s /opt/subversion/bin/svn* /usr/bin/



OK,大功告成

当然我这边事情远没这么简单,由于升级到了10.11 系统加入了Rootless,

root权限没有修改usr/bin目录下文件的权限,还找了好久关闭的方法,网上到处都是10.11 beta版的方法,都失效了,这里就不展开了.


RockyZhang
RockyZhang
关于关闭mac 的rootless权限 开机按command+R 进入recovery模式, 然后在恢复模式的终端里运行csrutil disable命令关闭rootless,也可以用csrutil enable命令恢复rootless
0
J
Just Feel
把$PATH    打印出来比较看看?
0
RockyZhang
RockyZhang
完美的解决方案:

ln -f 到/usr/local/bin里面,这个优先级高于/usr/bin并且权限不限制

返回顶部
顶部