gpt4 book ai didi

ruby - RVM 全面拒绝权限错误 - OS X Mavericks - Ruby 2.0.0?

转载 作者:数据小太阳 更新时间:2023-10-29 08:37:58 27 4
gpt4 key购买 nike

在梳理了大量的修复程序后,我已经停滞不前了。我是 Ruby/编程的新手,今天早些时候安装了 Ruby/RVM,运行良好(单用户),但是发生了一些变化,我可能在尝试修复它时造成的损害大于好处。

基本上,当我尝试运行我的基本 .rb 文件时,它会给我:

 ruby: No such file or directory -- doom.rb (LoadError)

我尝试卸载 RVM 并重新安装,我认为这就是我搞砸的地方。我使用了 rvm implode,我认为这是一个不完整的删除。现在,当我尝试它时,它只是说 command not found。大多数其他修复、修复振作起来 都会显示相同的消息,你有什么。

如果我尝试重新安装任何剩余/未剩余的内容,我会看到一个充满权限拒绝错误和已经存在的对象的屏幕:

rm: /Users/caroljones/.rvm/src/rvm/patchsets/ruby/1.9.3/p385: Permission denied
.
.
.
scripts/wrapper: Can't unlink already-existing object
scripts/zsh/: Can't update time for scripts/zsh
scripts/zsh/Completion/: Can't update time for scripts/zsh/Completion
scripts/zsh/Completion/_rvm: Can't unlink already-existing object
tar: Error exit delayed from previous errors.
Could not extract RVM sources.

如果我运行 echo $PATH,我得到这个:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/bin/

Ruby 安装正常:

ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13]

我认为这归结为没有进行彻底卸载,但我无法弄清楚如何查明内爆遗留下来的垃圾。

如果我可以为您提供任何其他信息来澄清我的问题,请告诉我。

编辑:如果我运行 which ruby​​ 我得到这个输出:

/usr/bin/ruby

对于 $ ls -al ~ | grep rvm 我得到:

drwxr-xr-x    5 caroljones  staff    170 May  5 17:35 .rvm

最佳答案

我很确定您在(卸载)安装过程中的某个时刻使用了 sudo,这改变了您的权限,并且会解释您的权限拒绝错误。

您的路径配置不正确; “local/bin”目录应该在“usr/bin”目录之前。 “本地”目录的想法是它包含您安装的命令,以及覆盖/更新系统安装的预先存在的命令的命令。当“本地”目录在 PATH 中位于“usr”目录之前时,它们的命令将在“usr”之前找到并使用。照原样,您的路径不允许这样做。而不是:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/bin/

它应该是这样的:

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

这不会让 Ruby 或 RVM 正确运行,但它会帮助您的命令行体验按预期方式工作。

一旦我们获得了有关您的环境/配置的更多信息,我们就可以提供解决方案以使您的系统正常工作。


there was a 'sudo' fix I used at some point in the process that screwed with my permissions, as you suggested.

sudo 将导致在命令运行时创建的文件和目录归 root 所有,并且尝试更改这些文件和目录将给您带来您看到的错误。您可以通过将文件和目录的所有权归还给您来解决该问题。但是请注意,您不想愿意这样做。如果您更改了错误的文件,更改所有权可能会使您的机器变成一 block 砖头。

要更改 ~/.rvm 及其所有内容的所有权,请使用:

sudo chown -R caroljones ~/.rvm

接下来,应该修复访问 ~/.rvm 中文件的权限问题。

此时你可以运行:

rm -rf ~/.rvm

完全删除 RVM,类似于 rvm implode 所做的。到那时,我认为您可以安全地重新安装 RVM。

在此之前,请阅读 the RVM installation page彻底和仔细。有关如何修改 ~/.bashrc 或 ~/.bash_profile 以允许在创建 shell 时初始化 RVM 的说明。人们掩盖了这个过程,认为 RVM 已经把所有事情都做得很好,但不明白它是如何绑定(bind)到他们的系统中的。这不是一个好主意,因为知道什么应该到位将使诊断和解决问题变得容易。

您的 ~/.bashrc 或 ~/.bash_profile 文件之一应该包含在创建 shell 时加载 RVM 的代码。那应该在文件的底部;它不一定是最后一个,但您确实需要了解如何以及为什么可以移动它。

关于ruby - RVM 全面拒绝权限错误 - OS X Mavericks - Ruby 2.0.0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23482724/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com