所以我试图在我的网络托管服务上部署Rails应用程序。我在本地开发了一个应用程序,但这是我第一次尝试让它在另一台服务器上运行。我的服务提供商是Blue Host,我正在处理他们最基本的共享主机方案。就像测试一样,我在服务器上创建了一个新的应用程序,一切运行正常。但是,每当我向Gemfile添加任何gem并运行'bundle install'时,我都会收到此错误:
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”的类似错误 我不太清楚这个错误意味着什么。我的服务器上没有所需的权限吗?
答案 0 :(得分:1)
始终使用持续部署/集成。
Capistrano完成了部分工作。这很简单,你可以离线开发应用程序,推送到远程存储库,比如BitBucket或Github,然后Capistrano负责将远程存储库克隆到你的服务器(你也可以有很多),重启服务等。
如果您想向前迈进一步,您可以使用持续集成,因此当您推送到远程测试时会自动执行,如果他们通过您的应用程序将被部署。
这是关于部署如何工作的基本介绍,您可以在线查看,有很多关于如何部署rails的资源。
答案 1 :(得分:1)
使用root用户
su root
root$ /etc/