“RVM不是功能”错误
RVM安装在我的机器上(运行Mac OSX 10.6.8),正确并且运行良好。奇怪的是,要运行它,我必须在每个新的会话中使用source ~/.rvm/scripts/rvm
。我尝试从它制作一个符号链接到/opt/local/bin/rvm
,但是当它运行时它什么都不做。我也尝试创建从~/.rvm/bin/rvm
到/opt/local/bin/rvm
的符号链接,当我在终端中运行rvm
时,它会按预期显示帮助页面。但是当我尝试rvm use some_ruby_version
时,它总是显示“RVM不是一个函数,选择使用'rvm use ...'的红宝石将不起作用。”我怎样才能解决这个问题?“RVM不是功能”错误
我的目标是让我的不要必须在每个会话中键入源命令,并且由于某种原因~/.profile
不会执行。
我不明白~/.profile
正确地做;我需要改变~/.bash_profile
。问题解决了!
将这些行添加到您的bashrc文件中 – pradeek 2014-06-19 12:42:28
您必须将RVM脚本编入当前会话,因为它会更改shell环境 - 并且从子进程完成该操作是绝对不可能的。您将RVM作为外部命令运行的努力无法成功。
要真正解决这个问题,你有两个选择:
- 配置您的终端模拟器启动登录shell,而不是一个非登录外壳,让您的
.profile
被加载。 - 修改
.bashrc
来源代替RVM,它也适用于非登录shell。
要做到只需将它添加到~/.bashrc
第二:
if test -f ~/.rvm/scripts/rvm; then
[ "$(type -t rvm)" = "function" ] || source ~/.rvm/scripts/rvm
fi
如果您正在使用的zsh作为外壳,而不是bash中,你必须:
1.
vi ~/.zshrc
2. 像马特说,添加:
if test -f ~/.rvm/scripts/rvm; then
[ "$(type -t rvm)" = "function" ] || source ~/.rvm/scripts/rvm
fi
3.重新启动Terminall 4.完成!
rvm use 1.9.3
威尔工作
像zsh shell一样具有魅力! – 2013-10-16 13:33:04
你必须做一些设置。
打开终端并运行此命令。
source ~/.rvm/scripts/rvm
,然后去edit > Title and command
和检查Run command as login shell
和你做。现在你不需要每次都指定源。
当我成为root时,我遇到了这个问题。我尝试了上面的许多解决方案。终于成功的是从根本上退出并成为普通用户。无论如何,这是我所需要的。
那么,与山狮(10.8.3)什么工作对我来说是编辑/ etc/profile文件
,并添加到文件底部前面提到的行:
if test -f ~/.rvm/scripts/rvm; then
[ "$(type -t rvm)" = "function" ] || source ~/.rvm/scripts/rvm
fi
我同样的问题。我发现了.profile文件没有得到更新,所以我说这是加入到.bash_profile中相同的命令:
[-s “$ HOME/.rvm /脚本/ RVM”]] & &源“$ HOME/.rvm /脚本/ RVM”
我不知道这是正确的方式,但它的工作...
将这些行添加到〜/ .bashrc配置文件中,它将起作用 – pradeek 2014-06-19 12:41:34
这些解决方案似乎没有赎回我的问题,这是在Ubuntu 12.04 LTS 。
我所做的是以下几点:
-
rvm get stable --auto-dotfiles
作为RVM文档here - 新增
source ~/.profile
作为第一行中概述:〜/ .bash_profile中
我不会全部这些步骤被记录为来自RVM命令行的错误:
RVM不是一个函数,选择'rvm use ...'的红宝石不会 工作。您需要更改您的终端仿真器首选项以允许登录shell。有时需要使用
/bin/bash --login
作为 该命令。例如,请访问https://rvm.io/integration/gnome-terminal/ 。
和
警告:你有 '〜/ .profile文件' 的文件,你可能想加载它, 做添加以下行到一个“/ home/USER_NAME /的.bash_profile':
源〜/ .profile中
你不应该像别人所说的那样编辑任何东西。只需进入终端的设置并选择“作为登录shell运行命令”。这将导致.profile在下一个终端实例上运行。重新打开你的终端,你应该可以使用rvm use 1.9.3
(或者你安装的任何版本)。
上rvm.io找到更多信息(这也是答案的好地方)
什么拧我是假设我的道路是正确的,因为我用的是一个我可以手动运行。
显然有不同的可执行文件或脚本可以使用,并位于不同的地方。
我认为米娜应该使用的路径是这样的:
/usr/local/rvm/bin/rvm
当在现实中却是这样的:
/usr/local/rvm/scripts/rvm
你有没有尝试添加了必要的行'〜/ .bash_profile'?在我的Mac上,至少那是我在添加路径/函数到我的bash时需要编辑的那个。 – user2398029 2012-03-17 18:52:45