如果以root身份登录时从命令行运行ruby bundler,则会收到以下警告:
不要以root身份运行Bundler.如果需要,Bundler可以请求sudo,并且以root身份安装捆绑包将破坏此计算机上所有非root用户的应用程序.
以root身份运行bundler对它安装的gem有什么区别?
它是否与为每个gem安装的实际文件的权限有关?Ruby会尝试以非root用户身份访问gem文件(如果是这样,Ruby将使用哪个用户/组以及如何查找)?
由于bundle用作root用户而导致应用程序崩溃的症状是什么?
我问的具体原因是因为我试图在一个非常基本的Centos VPS上使用bundler,我不需要设置任何非root用户.我通过bundler安装了宝石的其他问题(Error: file to import not found or unreadable: gemname
尽管有问题的宝石存在gem list
),我想知道如果通过Bundler以root身份安装宝石可能会让Ruby无法读取文件.
我想解决这个问题,如果我确实需要设置一个纯粹用于运行bundler的非root用户帐户,如果我这样做,那么该用户需要哪些组和权限才能允许Ruby运行gems bundler安装.
或者我可以只是chown
或chgrp
宝石文件夹?如果是这样,它是否依赖于与Ruby的安装方式有关?(我使用RVM和我的宝石最终/usr/local/rvm/gems/
归根组rvm中的root所有)这个松散相关的问题的答案意味着安装Ruby的未指定方面会影响bundler的权限要求.
研究"不要以root身份运行捆绑包"消息只会出现一个未解答的问题和抱怨,这个警告显然"就像它说要在晚上8点睡觉"(链接包含NSFW语言).