在我所有的宝石安装上,我必须做sudo?所以
sudo gem install rails
只会工作
宝石安装导轨
不管用.我该如何解决这个问题?
我安装了rvm -
murtaza@murtaza-dev:~$ which rvm
/home/murtaza/.rvm/bin/rvm
murtaza@murtaza-dev:~$ which gem
/home/murtaza/.rvm/rubies/ruby-1.9.3-p194/bin/gem
Run Code Online (Sandbox Code Playgroud)
但是,当我使用gem进行任何操作时,我也会收到此警告 -
murtaza@murtaza-dev:~$ gem
/home/murtaza/.rvm/rubies/ruby-1.9.3-p194/bin/gem:4: warning: Insecure world writable dir /opt in PATH, mode 040777
Run Code Online (Sandbox Code Playgroud)
编辑
我已经重新安装了rvm curl -L get.rvm.io | bash -s stable --auto(没有sudo).
但是,当我尝试安装gem时,它会给我以下错误 -
murtaza@murtaza-dev:~$ gem install rails
/home/murtaza/.rvm/rubies/ruby-1.9.3-p194/bin/gem:4: warning: Insecure world writable dir /opt in PATH, mode 040777
ERROR: While executing gem ... (Errno::EACCES)
Permission denied - /home/murtaza/.gem/specs
Run Code Online (Sandbox Code Playgroud)
编辑
我做了整件事,但仍然得到错误 -
murtaza@murtaza-dev:~$ sudo chown murtaza.murtaza -R ~/.rvm/*
murtaza@murtaza-dev:~$ gem install rails
/home/murtaza/.rvm/rubies/ruby-1.9.3-p194/bin/gem:4: warning: Insecure world writable dir /opt in PATH, mode 040777
ERROR: While executing gem ... (Errno::EACCES)
Permission denied - /home/murtaza/.gem/specs
Run Code Online (Sandbox Code Playgroud)
Ped*_*nto 29
使用chown整体.rvm和.gem目录返回给您的用户.您可能sudo以前使用它并且它搞砸了权限.
sudo chown -R username:group ~/.rvm
sudo chown -R username:group ~/.gem
Run Code Online (Sandbox Code Playgroud)
当然,将用户名更改为您的用户名和组
Jos*_*eek 18
当你在没有sudo的情况下安装它们时,Ruby不知道它们的安装位置.我不记得默认安装它们的位置,可能是〜/ .gems之类的东西.无论如何,您可以通过设置GEM_HOME环境变量来告诉Ruby它们的安装位置.
$ # assuming your gems are stored in ~/.gems
$ GEM_HOME="$HOME/.gems" ruby my_program.rb
Run Code Online (Sandbox Code Playgroud)
如果可行,那么你可以把它放在你的〜/ .bashrc中(根据你的系统,有很多可能存在的文件)
对于Mac用户,这对我有用...
.bash_profile例如,在路径到您自己的主文件夹的位置nano ~/.bash_profile添加导出GEM_HOME=/Users/Michael/.gem
同样在中.bash_profile,添加export PATH="$GEM_HOME/bin:$PATH"
资料来源:http : //michaelehead.com/2016/02/06/installing-gems-without-sudo.html
| 归档时间: |
|
| 查看次数: |
35125 次 |
| 最近记录: |