开发者社区 问答 正文

sudo mvn提示sudo: mvn: command not found

我把maven安装在了~/apache-maven-3.0.4
在/etc/profile.d/maven.sh中配置如下:

M2_HOME=/home/yyh/apache-maven-3.0.4
export M2_HOME
export PATH=$PATH:$M2_HOME/bin

执行mvn -v没什么问题,直到有一个项目用到了greenmail需要开465端口,所以需要root权限
但是执行sudo mvn test后提示找不到mvn,这怎么搞啊?

展开
收起
a123456678 2016-06-14 10:26:33 6069 分享 版权
1 条回答
写回答
取消 提交回答
  • 一个简单的解决办法是,编辑你当前用户的 .bashrc 文件,添加下面这行内容:
    `
    alias sudo="sudo env PATH=$PATH"
    `
    因为系统预装的 sudo 在编译时缺省使用了 --with-secure-path 参数,因此当前用户使用 sudo 时环境变量 $PATH 被覆盖,通过添加上面那行别名设置,就会在执行 sudo 时把当前的 $PATH 的值再套用上,达到想要的效果。
    当然,最根本的解决办法还是重新编译安装 sudo,编译时不使用 --with-secure-path 参数即可。

    2019-07-17 19:36:54
    赞同 展开评论
问答分类:
问答地址: