授予权限的路径

问题描述:

我下面这个guide,安装Ruby,而一切都只是当我尝试运行此命令授予权限的路径

轨新MYAPP -d mysql的

其中

没有问题我得到这个错误

run bundle install 
There was an error while trying to write to 
`/home/fil/.bundle/cache/compact_index/rubygems.org.443.29b0360b937aa4d161703e6160654e47`. It is likely that you need to 
grant write permissions for that path. 
     run bundle exec spring binstub --all 
bundler: command not found: spring 
Install missing gem executables with `bundle install` 

有什么办法解决这个问题吗?

+0

你在Linux或Windows10上? – whodini9

+0

试试sudo bundle install –

+0

linux作为windows 10的子系统 – Fil

它看起来像是在某个时候以root身份运行bundle install(通过sudo bundle install),你永远不应该这样做。你可以通过sudo来解决这个问题,正如@GurmukhSingh所建议的那样,但这只会增加问题的复杂性,从安全的角度来看这不是一个好主意。如果,在所有返回任何

find ~/.bundle/cache ! -user fil -ls 

,那么:

如果你想找到不是由fil拥有您的捆扎机缓存文件(假设你的用户名是fil),你可以运行这个问题很可能是这些文件归root(或某个其他用户)所有,这就是问题; -ls国旗find将告诉你谁拥有他们。

您可以删除问题的文件,并再次运行bundle install,或者你可以改变他们的所有权:

chown -R fil ~/.bundle/cache 

您可能需要检查所有文件~/.bundle而不仅仅是cache目录。

未来,请勿通过sudo运行bundle install

+0

它返回这个find:''/home/fil/.bundle/cache':没有这样的文件或目录' – Fil

+0

也许你第一次做了'sudo bundle'使用它,'〜/ .bundle'属于root。如果'ls -l〜/ .bundle'显示它拥有root权限,请执行'chmod -R fil〜/ .bundle'。如果你甚至没有'.bundle'目录,那么你就会遇到更大的问题,比如可能不拥有你的主目录。 –

+0

我也尝试这个,因为没有缓存,这是结果'chown -R fil〜/ .bundle chown:更改'/home/fil/.bundle'的所有权:不允许操作' – Fil