如何避免使用 sudo?
我正在我的 mac ox yosemite 上设置 ruby on rails,并且在这个过程中,我不可避免地最终对我的一些命令使用了“sudo”。这有助于我克服以下错误:
ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
有关更多上下文,我正在关注 this教程和最后步骤部分,我无法执行
rake db:create
因为我需要安装 pg 而我的用户帐户不允许安装到系统 Rubygems。
我按照此处的步骤(取自 post)设法克服了这个问题
Install Xcode command line tools (Apple Developer site)
brew uninstall postgresql
brew install postgresql
ARCHFLAGS="-arch x86_64" gem install pg
除了对我来说最后一步是
sudo ARCHFLAGS="-arch x86_64" gem install pg
问题:
1) 使用 sudo - 对我的电脑有什么影响?
2) 如何改进我的设置以避免必须使用 sudo?
最佳答案
通常,除非绝对必要,否则不应使用 sudo 运行命令。我认为这里更大的问题是您使用的系统 Ruby 阻止您运行其中一些命令,因为 gem 可执行文件由 root 用户拥有。
我会使用 Ruby 版本管理器,这样您就可以为您的特定用户提供专用的 Ruby/RubyGems 可执行文件。
正在安装 RVM https://rvm.io/
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
\curl -sSL https://get.rvm.io | bash -s 稳定
请记住,您很可能仍然需要升级权限才能在您的机器上安装 Postgresql 等东西。
请记住,如果您以根用户身份运行您的网络服务器,您会使系统处于更易受攻击的状态。假设您构建了一个能够删除服务器上文件的应用程序,那么如果它不小心删除了根文件系统怎么办?你知道,像那样的坏东西。
关于ruby-on-rails - 使用 sudo 设置 Ruby on Rails 是否被认为是一种不好的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32659599/