无法使用 sudo 运行命令,即使使用完整路径,也会出现错误

无法使用 sudo 运行命令,即使使用完整路径,也会出现错误

该命令starling位于/home/keating/.rvm/gems/ruby-1.9.2-p290/bin/starling

只有使用rvmsudo starling才能正常工作。这是我尝试以其他各种方式调用它的结果:

$ starling
Permission denied
$ sudo starling
sudo: starling: command not found
$ sudo /home/keating/.rvm/gems/ruby-1.9.2-p290/bin/starling
/home/keating/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find starling (>= 0) amongst [minitest-1.6.0, rake-0.8.7, rdoc-2.5.8] (Gem::LoadError)
from /home/keating/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec'
from /home/keating/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems.rb:1229:in `gem'
from /home/keating/.rvm/gems/ruby-1.9.2-p290/bin/starling:18:in `<main>'

我确实想用 运行命令sudo,因为上面的错误与运行相同rvmsudo service starling start(我已将 starling 设置为操作系统的服务)。

答案1

与普遍看法相反,运行sudo不仅以提升的权限运行,还以用户身份运行root。您的问题是starling本地安装在您的配置文件中,并且root不知道它的存在。要解决此问题,您需要将其添加starling到您的PATH

对于你的情况,请尝试以下方法:

  1. sudo su -
  2. PATH=$PATH:/home/keating/.rvm/gems/ruby-1.9.2-p290/bin/
  3. export PATH
  4. starling

如果可行,请将该文件夹添加到您的根路径,然后sudo starling就可以工作了。这是一篇关于此内容的好文章。

答案2

使用以下命令成为 root 用户:

须藤苏-

答案3

尝试这个。

sudo passwd root

现在您可以输入 root 用户的密码。之后您可以运行:

su

现在您已获得提升的权限。现在尝试运行您的应用...

相关内容