打开终端时正确的Ruby版本
每次我打开一个终端,我的Ruby版本都是错误的。 我不得不手动执行以下命令:
source /usr/local/rvm/scripts/rvm
我读过RVM不会修改.bashrc或.bash_profile但我注意到我的.bashrc最后有:
PATH=$PATH:$HOME/.rvm/bin
不仅我自己没有插入,而且rvm的路径是错误的! 我改变了:
PATH=$PATH:/usr/local/rvm/bin
我重新打开了一个终端,但Ruby版本总是错的!
rvm会修改你的.bash_profile / .bashrc – 这是它的一个弱点。 特别是,它添加(应该添加)这一行来加载rvm作为shell函数:
# Load RVM into a shell session as a function [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
即使我更改了rvm中的全局默认值,我也遇到了类似的错误ruby版本运行问题 – 确保这行在我的.bash_profile结束时修复了它。 在任何情况下,该行应该在那里让rvm正常工作。
您可以在应用程序的根目录中创建.rvmrc
文件。
它直接打开root运行内部的任何内容,所以我认为你可以复制它
PATH=$PATH:/usr/local/rvm/bin
事情应该是好的。 你会得到一个警告,但忽略(或根据我的经验)是安全的。 我认为你可能会更好地使用它,我发现有助于在应用程序中保持rubies / gemsets。
#.rvmrc rvm [ruby]@[gemset] #for example rvm 2.0.0-p247@my_gemset
为什么gemsets / rubies首先被切换/重置,我真的不知道它很烦人,但这似乎解决了它。
在这里阅读更多
根据您的设置,由于多种原因无法加载。
例如,当你打开一个shell(取决于操作系统发行版)时,bash文件是按各种顺序读取的,虽然这是标准的样子:(我相信Ubuntu略有不同,所以你可能想检查那是不是你的发行版) 。
# for interactive login shells (when you login to a terminal) /etc/profile /home//.bash_profile /home/ /.bash_login # if there is no .bash_profile /home/ /.profile # if there is no .bash_login # for interactive non-login shells (ie opening up a new tab) /etc/bash.bashrc /home/ /.bashrc
直接采购.bashrc会发生什么? 它会找到rvm吗? 如果是这样,那么只需要确保你的.bash_profile来源.bashrc又名:
# in .bash_profile if [ -f ~/.bashrc ]; then . ~/.bashrc fi
如果这不是原因,您可以深入了解rvm文档或切换到rbenv,这是一个更简单的解决方案。
RVM应该自动处理,但这段代码是错误的。
PATH=$PATH:/usr/local/rvm/bin
RVM的路径应该是第一个。 你的bash按照你的意愿行事。 它首先使用’系统范围’的ruby,因为你告诉你的shell这样做。 将此更改为:
PATH=/usr/local/rvm/bin:$PATH
然后source ~/.bashrc
它会按你的意愿工作,登录时调用rvm
ruby。
- 是否有用于将整个目录从HTML转换为HAML的bash命令?
- .gsub(/ \ … /,“”)。worub(/ \(/,“”)。gsub(/ \)/,“”)。gsub(/ \ localhost /,“”)<=这是少数
- 为什么我需要在我的路径中添加〜/ .rbenv / bin?
- 为什么bash -l -c“CMD”让ruby找到我的gem?
- 安装Homebrew时出错 – 找不到Brew命令
- 安装heroku toolbelt后出现Ruby错误
- Git bash chcp windows7编码问题
- 在cron中设置路径,以便它可以找到ruby
- Ruby selenium webdriver无法找到Mozilla geckodriver