Ubuntu 上的 Assetic rbenv 权限被拒绝
rbenv Permission denied with Assetic on Ubuntu
我努力了几个小时试图让 Assetic 与 Sass 和 Compass 在我的生产服务器上工作。
错误是:
sh: 1: /root/.rbenv/shims/ruby: Permission denied
这是因为我的rbenv安装在/root目录下,Assetic没有权限使用
我检查过类似的问题:
- "Rbenv permission denied issue"
- "rbenv: Permission Denied"
- "Should rbenv be installed system-wide, or at a user level?"
但他们没有帮助。
我正在使用 Apache,所以我猜默认用户是 "www-data"。
如上述问题之一所述,我尝试授予 www-data 在 /root 中的权限,但要么这不起作用,要么我做错了。
sudo chown -R www-data ~/.rbenv
这是完整的错误:
[exception] 500 | Internal Server Error | Assetic\Exception\FilterException
[message] An error occurred while running:
'/root/.rbenv/shims/ruby' '/usr/local/bin/compass' 'compile' '/var/www/myapp/app/cache/dev' '--boring' '--images-dir' '/var/www/myapp/app/../web/uploads/img' '--config' '/var/www/myapp/app/cache/dev/assetic_compassu3IAzJ' '--sass-dir' '' '--css-dir' '' '/var/www/formation-hero/app/cache/dev/assetic_compassPbwM3H.scss'
Error Output:
sh: 1: /root/.rbenv/shims/ruby: Permission denied
我在 Ubuntu 14.04
上使用 Apache
# which ruby
/root/.rbenv/shims/ruby
# which compass
/usr/local/bin/compass
# which rbenv
/root/.rbenv/bin/rbenv
# rbenv -v
rbenv 1.0.0-14-gc388331
Symfony 2.7 安装在 /var/www/myapp/
下
我应该怎么做才能授予 Apache 使用 /root 存储库的权利,或者更好的是,如何为我的 Symfony2 项目安装 rbenv?
在 OS X 的本地主机上一切正常。
我没有使用过上述组件的经验,但假设正在执行该文件的用户是 www-data,这可能是 /root/.rbend/shims/ruby 文件的权限问题.
运行 命令 sudo chmod o+x /root/.rbenv/shims/ruby
将授予文件所有者执行权限,大概 www-data 因为你 运行 chown 命令。
如果还是不行运行命令ls -l /root/.rbenv/shims/ruby
,第一列第4个字符应该是x
,说明所有者有执行权限。
有关 linux 文件权限的更多信息,请检查“Understanding and Using File Permissions”。
我努力了几个小时试图让 Assetic 与 Sass 和 Compass 在我的生产服务器上工作。
错误是:
sh: 1: /root/.rbenv/shims/ruby: Permission denied
这是因为我的rbenv安装在/root目录下,Assetic没有权限使用
我检查过类似的问题:
- "Rbenv permission denied issue"
- "rbenv: Permission Denied"
- "Should rbenv be installed system-wide, or at a user level?"
但他们没有帮助。
我正在使用 Apache,所以我猜默认用户是 "www-data"。
如上述问题之一所述,我尝试授予 www-data 在 /root 中的权限,但要么这不起作用,要么我做错了。
sudo chown -R www-data ~/.rbenv
这是完整的错误:
[exception] 500 | Internal Server Error | Assetic\Exception\FilterException
[message] An error occurred while running:
'/root/.rbenv/shims/ruby' '/usr/local/bin/compass' 'compile' '/var/www/myapp/app/cache/dev' '--boring' '--images-dir' '/var/www/myapp/app/../web/uploads/img' '--config' '/var/www/myapp/app/cache/dev/assetic_compassu3IAzJ' '--sass-dir' '' '--css-dir' '' '/var/www/formation-hero/app/cache/dev/assetic_compassPbwM3H.scss'
Error Output:
sh: 1: /root/.rbenv/shims/ruby: Permission denied
我在 Ubuntu 14.04
上使用 Apache# which ruby
/root/.rbenv/shims/ruby
# which compass
/usr/local/bin/compass
# which rbenv
/root/.rbenv/bin/rbenv
# rbenv -v
rbenv 1.0.0-14-gc388331
Symfony 2.7 安装在 /var/www/myapp/
下我应该怎么做才能授予 Apache 使用 /root 存储库的权利,或者更好的是,如何为我的 Symfony2 项目安装 rbenv?
在 OS X 的本地主机上一切正常。
我没有使用过上述组件的经验,但假设正在执行该文件的用户是 www-data,这可能是 /root/.rbend/shims/ruby 文件的权限问题.
运行 命令 sudo chmod o+x /root/.rbenv/shims/ruby
将授予文件所有者执行权限,大概 www-data 因为你 运行 chown 命令。
如果还是不行运行命令ls -l /root/.rbenv/shims/ruby
,第一列第4个字符应该是x
,说明所有者有执行权限。
有关 linux 文件权限的更多信息,请检查“Understanding and Using File Permissions”。