【问题标题】:Impossible to install single-user version of RVM无法安装 RVM 的单用户版本
【发布时间】:2012-06-29 19:58:49
【问题描述】:

问题很简单:

无法安装RVM(单用户安装),好像按照RVM网站上的说明操作,即:

$ curl -L https://get.rvm.io | bash -s stable 

我在安装脚本文件的第 360 行(以 echo 开头的行)收到权限被拒绝错误:

# Perform the actual installation, first we obtain the source using whichever
# means was specified, if any. Defaults to head.
  case "${version}" in  
    (head) 
       echo "${branch}" > "$rvm_path/RELEASE"    
       install_head ${branch:-master} || exit $?  
  ;;

这是错误信息:

olivier@~$ curl -L https://get.rvm.io | bash -s 稳定

bash:第 360 行:/usr/local/rvm/RELEASE: Permission denied

如果我在上面的命令中的“bash”之前添加“sudo”,它工作正常,但它是多用户安装......

【问题讨论】:

  • @Sergio: 增加了安装脚本中存在问题的部分
  • 我怀疑您的~/.rvm 目录存在并且您没有对其的写入权限。删除它并重试。
  • 如果您包含实际的错误消息会很有帮助。
  • @Mark:添加了错误消息...阅读 Sergio 的消息,他可能猜对了,但是单用户安装应该访问 ~/.rvm 而不是 /usr/local/rvm no ? (后者用于多用户安装)

标签: ruby rvm


【解决方案1】:

确实,我通过卸载旧版本的 RVM 解决了这个问题:sudo rvm implode,然后删除文件/etc/rvmrc。完成后,我可以安装单用户版本,一切正常!

抱歉,我想编辑你的答案或通过我的评论完成它,但我不能(评论只能在 5 分钟内编辑……至少我赞成……)。

【讨论】:

  • 遇到了类似的问题。对于其他人:不要忘记重新加载 shell 以删除旧的 rvm_path。
【解决方案2】:

一旦您进行了系统范围的安装,您将无法运行单用户安装,因为它会首先检测您的系统范围的安装并尝试对其进行更新。

但是可以通过指定安装路径进行 root 安装,然后用户安装:

curl -sSL https://get.rvm.io | bash -s stable --path $HOME/.rvm

您还必须在您的用户路径中手动设置单用户安装路径,因为当您已经进行了系统范围的安装(不是真正的预期用途)时,RVM 不会创建它:

# .bashrc
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting

同时加载你的用户 rvm :

# .bash_profile
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

【讨论】:

    【解决方案3】:

    您是在 ~/.rvmrc、/etc/rvmrc 还是在您的某个 bash 脚本中设置 rvm_path?我建议删除这两个文件以及 ~/.rvm,然后尝试在不使用 sudo 的情况下再次安装 rvm。

    【讨论】:

    • 我在 ~/.bashrc 中添加了源路径,从那时起我在测试它时有“RVM 是一个函数”......否则,我应该删除哪两个文件? ...我没有任何 ~/.rvm ...所以,你能澄清一下你的答案吗?谢谢!
    • 看起来您有旧的安装工件,并且 /etc/rvmrc 可能正在设置 rvm_path,这会干扰您后续的用户安装。从您的原始帖子中我不清楚您实际上仍然进行了系统范围的安装。 sudo rvm implode 将删除它,但您仍然需要手动删除 /etc/rvmrc。要澄清 RVM 是一个功能问题,请阅读 rvm.io/support/faq/#shell_login。从本质上讲,~/.bash_profile 是获取 RVM 的最安全的地方。使用 .bashrc 会导致其他程序崩溃。
    【解决方案4】:

    这对我有用,首先卸载所有版本,然后作为 用户(没有 root)执行以下命令:

    例如,我正在使用 Ruby 2.6.3 和 Rails 5.2.2 并在这些网页中设置一些帮助:

    https://gorails.com/setup/ubuntu/20.04

    https://rvm.io/rvm/install

    $ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
    $ curl -sSL https://get.rvm.io | bash -s stable --ignore-dotfiles
    
    $ source ~/.rvm/scripts/rvm
    $ rvm install 2.6.3
    $ rvm use 2.6.3 --default
    $ ruby -v
    
    $ gem install rails -v 5.2.2
    $ rails -v
    

    检查路径:

    $ which -a gem
    $ which -a ruby
    

    现在您可以添加一些 gem(在您的应用目录中):

    $ gem install faker
    

    对我来说一切都很好,希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-15
      • 1970-01-01
      • 1970-01-01
      • 2013-12-27
      • 1970-01-01
      • 2020-05-02
      相关资源
      最近更新 更多