使用sudo bundle install的时候,提示command not found,但是直接使用bundle install会导致权限问题:
$ sudo bundle install
sudo: bundle: command not found
$ bundle install
Following files may not be writable, so sudo is needed:
/usr/bin
/usr/share/gems
/usr/share/gems/build_info
/usr/share/gems/cache
/usr/share/gems/doc
/usr/share/gems/extensions
/usr/share/gems/gems
/usr/share/gems/specifications
……
这种情况应该是环境变量导致的,使用 env |grep PATH 和 sudo env |grep PATH 发现两者变量值不一样
$ sudo env |grep PATH
PATH=/root/.rbenv/bin:/root/.rbenv/shims:/root/.rbenv/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin/bundler:/root/bin
$ env |grep PATH
PATH=/home/opc/.local/bin:/home/opc/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
解决办法:
使用 sudo vim /etc/sudoers 打开文件修改env_reset参数,然后 :wq! 退出
接着修改.bashrc文件,使用vim ~/.bashrc打开,加上 alias sudo=‘sudo env PATH=$PATH’ ,然后 :wq 退出,使用 source ~/.bashrc 重新加载
评论
本文评论功能已关闭。