开发者社区> 问答> 正文

写代码执行的command与在终端执行中不一样:报错

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

系统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下 执行同样的命令  结果却不一样.

郁闷...

展开
收起
kun坤 2020-06-09 23:14:44 442 0
1 条回答
写回答
取消 提交回答
  • 找到问题原因所在了.不知道为什么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版的方法,都失效了,这里就不展开了.


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

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

    2020-06-09 23:14:50
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载