OS 10.9 上的 rvm 存在一些问题:第二个导出路径到 .bash_profile、缺少 2.0 路径和丢失文件



1)

每次加载新的bash终端时,我都会遇到此错误

-bash: /etc/profile.d/sm.sh: No such file or directory
-bash: /etc/profile.d/rvm.sh: No such file or directory

我看到了这个之前提出的问题,答案是简单地从 .bashrc 中删除引用。但是答案是不被接受和投票的,对这些文件的引用不是在.bashrc中,而是在~/etc/profile

我应该注意,我在 /etc 下没有 profile.d 目录。我有文件profileprofile~orig

2)

RVM在我运行rvm get stable后添加了第二个export path,但也没有包含对Ruby 2.0.0的引用。

.bash_profile
export PATH=$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
export PATH=/usr/local/bin:/Users/mcb/.rvm/gems/ruby-1.9.3-p448/bin:/Users/mcb/.rvm/gems/ruby-1.9.3-p448@global/bin:/Users/mcb/.rvm/rubies/ruby-1.9.3-p448/bin:/Users/mcb/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

我的直觉是将它们合并为一个,消除重复,并手动添加对 ruby 2 的引用。我还自己添加了$PATH:,因为第一次也不起作用。

3)

这显然是不对的

my-macbook-pro:~ mcb$ rvm get sable --auto-dotfiles
Warning! PATH is not properly set up, '/Users/mcb/.rvm/gems/ruby-2.0.0-p247/bin' is not available,
         usually this is caused by shell initialization files - check them for 'PATH=...' entries,
         it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
         to fix temporarily in this shell session run: 'rvm use ruby-2.0.0-p247'.
cat: /Users/mcb/.rvm/help/get: No such file or directory

所以,长话短说,我开始担心在没有某种指导的情况下尝试自己修复其他任何东西,因为害怕只会让事情变得更糟。

for 1) 检查这两个文件引用的/etc/profile

对于 2) 从~/.bash_profile中删除export PATH=/usr/local/bin:/Users/mcb/.rvm/gems/ruby-1.9.3-p448/bin:/Users/mcb/.rvm/gems/ruby-1.9.3-p448@global/bin:/Users/mcb/.rvm/rubies/ruby-1.9.3-p448/bin:...

对于 3) rvm get sable => rvm get stable

我认为问题是您在 PATH 中显式添加了 ruby 1.9.3,这是 rvm 应该做的工作。

就我而言,我没有直接引用 PATH 中的任何 ruby 安装。

尝试从任何与 ruby 和 rvm 相关的内容中清除您的路径,并让 rvm 作为一个函数加载。这是我计算机上的.bash_profile(使用 rvm 和 brew 工作):

export PATH=/usr/local/bin:/usr/local/sbin:$PATH:/usr/local/opt/ruby/bin
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

要检查 rvm 是否正确配置,您可以运行:
type rvm | head -n 1

结果应该是:"rvm 是一个函数"

查看 rvm 官方网页以获取有关其工作原理的更多详细信息:https://rvm.io/rvm/install

最新更新