如果您能提供帮助或希望成为维护者之一,请开始帮助我们。 您可以在 RVM Github 组织 中找到更多与 RVM 相关的项目。
∞Sudo
Sudo 是一个用于类 Unix 操作系统的程序,它允许用户以另一个用户的安全权限运行程序(通常是超级用户或 root)。 它的名字是 su 命令(它授予用户另一个用户的 shell,通常是超级用户)和“do”或采取行动的组合。
默认情况下,当您使用 sudo
时,您当前的 shell 环境不会传递到它创建的会话中,但 RVM 已经允许通过 rvmsudo
更轻松地访问 sudo 调用。 但是,sudo 的默认设置非常严格,您可能会在设置为使用 sudo NOPASSWD 指令的命令上收到密码提示。
更改 sudo 的严格默认设置
如果您遇到这种情况,需要做三件事来缓解这种情况
- 调用 sudo 的用户必须在他的 shell 环境中设置
export rvmsudo_secure_path=0
(例如 .bashrc、.bash_profile 或 .zshrc) - 在 /etc/sudoers 中注释掉
Defaults secure_path=...
- 在 /etc/sudoers 中添加
Defaults env_keep +="rvm_bin_path GEM_HOME IRBRC MY_RUBY_HOME
rvm_path rvm_prefix rvm_version GEM_PATH rvmsudo_secure_path RUBY_VERSION rvm_ruby_string rvm_delete_flag"
在极少数情况下,需要添加更多变量 - 它们应该由rvmsudo
的第一次运行报告。
完成这些更改后,您应该能够使用 rvmsudo
,保留与“普通”sudo 调用相同的密码/无密码指令。