我在服务器上安装了系统范围的RVM。就跑步bundle install
而言,我在黑暗中拍摄。我不知道我是否应该以与Rails应用程序相同的用户或root用户身份运行它。现在,我一直在su -
更改为root,然后cd'ing
更改为Rails根目录并运行bundle install
。不确定这是不是正确的方法。有什么帮助吗?
答案 0 :(得分:4)
bundler的doc明确表示不要以root身份执行:
http://gembundler.com/man/bundle-install.1.html
引用:
你永远不应该使用
sudo bundle install
。这是因为其他几个 捆绑安装中的步骤必须是 以当前用户身份执行:1)更新你的Gemfile.lock
2)更新 您的供应商/缓存,如有必要, 3)检查私有git存储库 使用用户的SSH密钥
RVM特别适用:
http://rvm.beginrescueend.com/rubies/rubygems/
引用:
不要使用sudo ......
使用RVM宝石。当你这样做 sudo你以root身份运行命令, 另一个shell中的另一个用户 因此RVM具有的所有设置 为你做的事被忽略了 命令在sudo下运行(这样的事情 作为GEM_HOME等......)。重申一下, 一旦你'sudo'你就跑了 将作为根系统用户 清除你的环境以及 它创建的任何文件都无法 由您的用户修改并将 导致奇怪的事情发生。 (你会开始认为有人 有你的巫毒娃娃 应用...)
答案 1 :(得分:3)
捆绑很聪明。如果您的宝石位于/ usr / local或/ opt或其他任何内容且您没有权限,则会执行此操作:
bundle install
<~/code/project> $ bundle install
Fetching https://github.com/plataformatec/simple_form.git
remote: Counting objects: 3275, done.
remote: Compressing objects: 100% (1225/1225), done.
remote: Total 3275 (delta 2289), reused 2836 (delta 1950)
Receiving objects: 100% (3275/3275), 369.42 KiB | 608 KiB/s, done.
Resolving deltas: 100% (2289/2289), done.
Fetching source index for http://rubygems.org/
Enter your password to install the bundled RubyGems to your system:
...
注意那里的最后一行... bundle只为需要root的东西运行sudo。
答案 2 :(得分:0)
无论用户拥有并运行ruby应用程序。