Cannot install RVM . Permission denied in /usr/local/rvm

前端 未结 12 2723
旧时难觅i
旧时难觅i 2020-12-25 13:20

Based on my previous thread : RVM installed by Ruby not working? where i had installed RVM using the root user, I then had to entirely remove the RVM install and now i am in

相关标签:
12条回答
  • 2020-12-25 14:04

    I had the original issue reported in this question, "mkdir: cannot create directory `/usr/local/rvm': Permission denied" when trying to install rvm.

    This is my scenario and how I solved it - maybe this will help others with this same issue.

    I have Ubuntu 11.04 installed on a laptop, I only have 1 user, the one I created at install time, named nathan. When I would try to install rvm as nathan, the rvm installer saw me as root and kept trying to install rvm globally, but since I wasn't really root, it couldn't get access to create directories in /usr/local/rvm.

    I'm far from an expert with Ubuntu, so I'm sure there are easier/better ways to accomplish the things I did (and I would love to learn about them), but this worked for me:

    1. I created a new user called rubydev
    2. I logged in as rubydev, opened a terminal and typed:

      rubydev~$ bash < <(curl -B http://rvm.beginrescueend.com/install/rvm)
      
    3. rvm installed correctly and I logged out of rubydev

    4. Signed back in as nathan, opened a terminal and typed "su" (you could do all this with sudo, I am lazy)
    5. After successfully getting root, I typed the following commands:

      root: /home/nathan# cp -R /home/rubydev/.rvm .
      
      root: /home/nathan# chown -R nathan .rvm
      
      root: /home/nathan# chgrp -R nathan .rvm
      
      root: /home/nathan# exit
      
      nathan~$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
      
      nathan~$ echo 'export rvm_path="/home/nathan/.rvm"' > ~/.rvmrc
      
      nathan~$ source .bash_profile
      
    6. At this point, rvm was correctly installed under my home directory. To verify I typed:

      nathan~$ type rvm | head -1
      rvm is a function (if you don't get this response, something else is wrong)
      
    7. Read the notes and installed any dependencies

      nathan~$ rvm notes
      
    8. I installed some rubies

      nathan~$ rvm install 1.8.7-head
      nathan~$ rvm install 1.9.2-head
      
    9. Verified install

          nathan~$ rvm list
      
          rvm rubies
              ruby-1.8.7-head [x86_64]
              ruby-1.9.2-head [x86_64]
      
          nathan~$ rvm use 1.9.2
          using /home/nathan/.rvm/gems/ruby-1.9.2-head
      
          nathan~$ rvm list
      
          rvm rubies
             ruby-1.8.7-head [x86_x64]
          => ruby-1.9.2-head [x86_x64]
      
    10. Finally, I edited the preferences on the terminal itself to ensure the "Run command as as login shell" under the "Title and Command" tab was checked. It seems .bash_profile isn't otherwise processed.

    11. I removed the rubydev user I created in step 1.

    With all of that, I have a working rvm under Ubuntu 11.04 using my preferred username.

    0 讨论(0)
  • 2020-12-25 14:06

    RVM is easy to install, but you are making it harder by trying to mix and match installation types. You do NOT need to create a new user. When run, RVM will create a directory in your home directory: ~/.rvm, and install everything inside it. That means you will have all the correct permissions. You do NOT need to be running as root, you do NOT need to use sudo. I'd recommend closing all your command-lines and open one fresh and start at your home directory. If you are running as root, log out, and log back in to your normal account. For a single-user install you do NOT need to be root.

    For a single user, using RVM as their Ruby sandbox, use the single-user installation docs. Follow ALL the instructions on that page, INCLUDING the "Post Install" section.

    Close your terminal window, and reopen it. If you have correctly followed the instructions above, typing rvm info should spit out a template of what is to come once you install a Ruby instance. If you see nothing output, or get an error, then retrace your steps in the "Post Install" section, and go through the "Troubleshooting" section. Most of the problems people have occur because they didn't bother to read the directions.

    Once RVM is installed, type rvm notes and read what dependencies you need to install. If you do not add those files your Rubies installed will be missing functionality. They will work, but some of the creature comforts you'll hear about won't work and you will wonder why.

    After installing the dependencies you should be in good shape to install Rubies. Type rvm list known for all the Rubies RVM can install. If you want 1.8.7 type rvm install 1.8.7, and, similarly, rvm install 1.9.2 for Ruby 1.9.2. If you want a particular revision you can add that, based on the ones in the list.

    It's important to periodically update RVM using rvm get head. That will add features, fix bugs, and tell RVM about new versions of Ruby it can install if you request.

    After installing a Ruby, type rvm list and it should show up in the list, looking something like this:

    rvm rubies
    
       ruby-1.8.7-p334 [ x86_64 ]
       ruby-1.9.2-p180 [ x86_64 ]
    

    Type rvm use 1.9.2 --default to set a default Ruby that will be sticky between logins. Use the version of whatever Ruby you want to default to if 1.9.2 doesn't float your boat. Once you've defined a default it should look something like:

    rvm rubies
    
       ruby-1.8.7-p334 [ x86_64 ]
    => ruby-1.9.2-p180 [ x86_64 ]
    

    Before you begin installing gems into a RVM-managed Ruby, read "RVM and RubyGems ", in particular the part that says "DO NOT use sudo... ". I repeat. Do NOT use sudo to install any gems, in spite of what some blog or web page says. RVM's author knows better when it comes to working with RVM controlled Rubies. That is another mistake people use with RVM, again as a result of not reading the directions.

    On Mac OS, you'll need the latest version of XCode for your OS. Do NOT use the XCode that came with Snow Leopard on the DVD. It is buggy. Download and install a new version from Apple's Developer site. It's a free download requiring a free registration. It's a big file, approximately 8GB, so you'll want to start it and walk away. Install XCode, and you should be ready to have RVM install Rubies.

    Finally, RVM installs easily, as will the Rubies you ask it to install. I have it on about four or five different machines and VMs on Mac OS, Ubuntu and CentOS. It takes me about a minute to install it and another minute to configure it and start installing a new Ruby. It really is that easy.

    0 讨论(0)
  • 2020-12-25 14:09

    mkdir: cannot create directory `/usr/local/rvm': Permission denied

    If you've run the rvm installer as root previously, remove /usr/local/rvm and /etc/rvmrc.

    0 讨论(0)
  • 2020-12-25 14:13

    Look for file rvm.sh below /etc directory (It may be in /etc, or /etc/init.d). Also, try some grep rvm /etc -r, so you can find some files/lines which prevent you from installing rvm in your $HOME dir.

    0 讨论(0)
  • 2020-12-25 14:15

    I solved this by adding

    export rvm_path=~/.rvm
    

    to ~/.bash_profile

    0 讨论(0)
  • 2020-12-25 14:16

    For me running

    __rvm_unload

    Worked first, this was due to the fact that I had rvm installed as for multiuser.

    0 讨论(0)
提交回复
热议问题