ruby-on-rails - 使用 sudo 设置 Ruby on Rails 是否被认为是一种不好的做法?

标签 ruby-on-rails linux macos postgresql

如何避免使用 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/

相关文章:

ruby-on-rails - send_file 后出现 DoubleRenderError

ruby-on-rails - rake 测试运行失败,因为无法加载 'guard'

linux - 创建一个 oneliner 来导入数据库

Javascript读取本地文件适用于Windows但不适用于Linux

c++ - 我可以在没有 Mac 的情况下为 Mac 编程吗?

.net - OSX 中Mono web 开发的经验

ruby-on-rails - 如何使用 Paperclip 正确保存 Base64 图像

ruby-on-rails - Ruby Magic Code 在 nil 检查性别后使用 bool 值

android - Android上如何计算网卡何时打开连接

macos - Mac代码签名: Bypass the Keychain Access private key prompt from Terminal