【发布时间】:2014-06-03 16:01:28
【问题描述】:
我正在努力学习 Rails,所以我是新手,希望得到一些帮助。
我正在尝试一次运行多个应用程序,但遇到了一个奇怪的问题。当我尝试用 rails 生成东西时,它给了我一个权限错误。我查看了 stackoverflow 和其他几个网站,但没有找到任何好的解决方案。
详情: 此设置在以下位置成功运行了两个 Rails 应用程序:
2 当前由于缺少控制器而显示错误(2014 年 4 月 19 日上午 12:30)。但是,当我导航到该应用程序的目录并运行“rails 生成控制器幻灯片视图”时,我收到此错误:
$ rails generate controller slideshow create
/usr/local/rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/env.rb:68:in `initialize': Permission denied @ rb_sysopen - /tmp/spring/bff8002d6fbedba8d81e3befe2342559.pid (Errno::EACCES)
from /usr/local/rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/env.rb:68:in `open'
from /usr/local/rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/env.rb:68:in `open'
from /usr/local/rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/env.rb:68:in `server_running?'
from /usr/local/rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/run.rb:18:in `call'
from /usr/local/rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/command.rb:7:in `call'
from /usr/local/rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/rails.rb:23:in `call'
from /usr/local/rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/command.rb:7:in `call'
from /usr/local/rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client.rb:26:in `run'
from /usr/local/rvm/gems/ruby-2.1.1/gems/spring-1.1.2/bin/spring:48:in `<top (required)>'
from /usr/local/rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/binstub.rb:11:in `load'
from /usr/local/rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/binstub.rb:11:in `<top (required)>'
from /var/www/html/slide.mechapps.co/slide/bin/spring:16:in `require'
from /var/www/html/slide.mechapps.co/slide/bin/spring:16:in `<top (required)>'
from bin/rails:3:in `load'
from bin/rails:3:in `<main>'
这是我的设置: /etc/http/conf/httpd.conf:
...
LoadModule passenger_module /usr/local/rvm/gems/ruby-2.1.1/gems/passenger-4.0.41/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/rvm/gems/ruby-2.1.1/gems/passenger-4.0.41
PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.1.1/wrappers/ruby
</IfModule>
...
RackEnv development
<VirtualHost *:80>
ServerName rails.mechapps.co
DocumentRoot /var/www/html/rails.mechapps.co/blog/public
<Directory /var/www/html/rails.mechapps.co>
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName slide.mechapps.co
DocumentRoot /var/www/html/slide.mechapps.co/slide/public
<Directory /var/www/html/slide.mechapps.co>
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>
我的根目录的权限:
drwxr-xr-x [user] [group] 4096 Apr 18 23:17 rails.mechapps.co
drwxr-xr-x [user] [group] 4096 Apr 19 04:22 slide.mechapps.co
App Directory 的权限:
-rw-rw-r-- 1 [user] [group] 1337 Apr 19 04:22 Gemfile
-rw-rw-r-- 1 [user] [group] 2982 Apr 19 04:22 Gemfile.lock
-rw-rw-r-- 1 [user] [group] 478 Apr 19 04:22 README.rdoc
-rw-rw-r-- 1 [user] [group] 249 Apr 19 04:22 Rakefile
drwxrwxr-x 8 [user] [group] 4096 Apr 19 04:22 app
drwxr-xr-x 2 [user] [group] 4096 Apr 19 04:22 bin
drwxrwxr-x 5 [user] [group] 4096 Apr 19 04:26 config
-rw-rw-r-- 1 [user] [group] 154 Apr 19 04:22 config.ru
drwxrwxr-x 2 [user] [group] 4096 Apr 19 04:24 db
drwxrwxr-x 4 [user] [group] 4096 Apr 19 04:22 lib
drwxrwxr-x 2 [user] [group] 4096 Apr 19 04:22 log
drwxrwxr-x 2 [user] [group] 4096 Apr 19 04:22 public
drwxrwxr-x 8 [user] [group] 4096 Apr 19 04:22 test
drwxrwxr-x 3 [user] [group] 4096 Apr 19 04:22 tmp
drwxrwxr-x 3 [user] [group] 4096 Apr 19 04:22 vendor
我以两个位置的所有者身份登录。
我怀疑有以下问题:
- 同时运行多个 rails 应用程序会混淆 rails 生成器
- 我不知何故弄乱了 ruby/rails 配置,应用程序 冲突
- Ruby 以 root 身份安装,我的用户已添加到 rvm 组。也许这是一个 rvm 问题?
如果您知道如何解决此问题或有任何想法,请提供帮助。我花了将近 8 个小时在互联网上搜索并尝试了各种配置。谢谢!
【问题讨论】:
标签: ruby-on-rails apache passenger