【问题标题】:Issue with Deploying Ruby on Rails on my Hosting Service在我的托管服务上部署 Ruby on Rails 的问题
【发布时间】:2016-04-17 06:19:05
【问题描述】:

所以我试图在我的网络托管服务上部署一个 Rails 应用程序。我在本地开发了一个应用程序,但这是我第一次尝试让它在另一台服务器上工作。我的服务提供商是 Blue Host,我正在使用他们最基本的共享托管计划。就像测试一样,我在服务器上创建了一个新的应用程序,一切运行良好。但是,每当我将任何 gem 添加到 Gemfile 并运行“捆绑安装”时,我都会收到此错误:

sudo: unable to stat /etc/sudoers: No such file or directory
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

Gem::Exception: Cannot load gem at [/usr/lib64/ruby/gems/1.9.3/cache/rake-10.4.2.gem] in /home/user/application
An error occurred while installing rake (10.4.2), and Bundler cannot continue.
Make sure that `gem install rake -v '10.4.2'` succeeds before bundling.

每当我运行 gem install rake -v '10.4.2' 时,gem 都会正常安装。

当我尝试运行其他命令时,也会遇到类似的错误,其中提到“sudo”。
我不太确定这个错误是什么意思。我在我的服务器上没有所需的权限吗?

【问题讨论】:

    标签: ruby-on-rails ruby deployment hosting


    【解决方案1】:

    使用 root 用户

    su root
    root$ /etc/
    

    【讨论】:

    • 许多共享虚拟主机(例如 Bluehost)不允许使用 sudo。
    【解决方案2】:

    始终使用持续部署/集成。

    Capistrano 完成了部分工作。这很简单,您离线开发应用程序,推送到远程存储库,如 BitBucket 或 Github,然后 Capistrano 负责将远程存储库克隆到您的服务器(您也可以有很多),重新启动服务等。

    如果您想更进一步,您可以使用持续集成,这样当您推送到远程时,测试将自动执行,如果通过,您的应用程序将被部署。

    这是关于部署如何工作的基本介绍,您可以在线查看,关于如何部署rails的资源很多。

    【讨论】:

    • 当我尝试通过 Capistrano 部署时,我仍然收到一个错误,提示捆绑器存在问题
    猜你喜欢
    • 2012-05-23
    • 2019-04-01
    • 1970-01-01
    • 2011-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    相关资源
    最近更新 更多