这是我第一次设置一个服务器,并且在遵循这里描述的Phusion Passenger教程的时候遇到了麻烦。 指令要求我运行这个命令:
passenger-memory-stats
这导致了这个错误:
*** WARNING: Please run this tool as root. Otherwise the private dirty RSS of processes cannot be determined.
但是当我运行:
sudo passenger-memory-stats
我得到这个错误:
sudo: passenger-memory-stats: command not found
我在其他地方接受了build议,并用which来获得乘客记忆统计的完整path。 然而,这导致了这一点:
> sudo /home/timothythehuman/.rvm/gems/ruby-2.0.0-p0/bin/passenger-memory-stats /usr/bin/env: ruby_noexec_wrapper: No such file or directory
任何其他方法来获得这项工作? 或者为什么会发生这种想法?
sudo ,默认情况下,出于安全原因清理您的$PATH 。 您可以通过运行以查看path:
$ sudo sh -c 'echo $PATH'
这可能会产生像这样的东西:
/sbin:/bin:/usr/sbin:/usr/bin
如果您想要在这些目录之外运行某些内容,则需要使用完全限定的path。 如果该命令尝试使用相对path运行其他内容(如示例中所示),则需要为sudo环境提供修改后的$PATH 。 喜欢这个:
sudo env PATH=$PATH /home/timothythehuman/.rvm/gems/ruby-2.0.0-p0/bin/passenger-memory-stats
这会在sudo环境中设置PATHvariables。 env命令对于这类事情很有用。
你可以通过这样做来保存自己的一些input:
sudo env PATH=$PATH `which passenger-memory-stats`