【问题标题】:After Installation RVM and Ruby 1.9.3 every Bash path change RVM Initialization Script is printed安装 RVM 和 Ruby 1.9.3 后,每个 Bash 路径更改 RVM 初始化脚本都会打印出来
【发布时间】:2012-07-14 05:35:56
【问题描述】:

我安装了最新的 RVM - Ruby 版本管理器 - 并使用 clang rvm install 1.9.3 --reconfigure --debug -C --enable-pthread --with-gcc=clang 在 OSX Lion 上使用 XCode 4.3.3 安装了 Ruby 1.8.7 和 1.9.3,因为由于 GCC 错误,常规方式不起作用。我确实收到了一个错误clang: error: unsupported option '--with-libyaml,但是 Ruby 1.9.3 可以运行,我可以运行至少需要 1.9.2 的 WPScan。 但是现在每次我运行命令来更改文件夹(例如 cd)时,我都会打印一个与 RVM 相关的长 Bash 脚本 - 请参阅 http://pastebin.com/UAm38Vcm 和: 。

我怎样才能阻止它这样做?

更新我

在 Github 上的 RVM 以及 https://github.com/wayneeseguin/rvm/issues/1039 上添加了评论,但由于该问题不是 100% 相关的,而且我需要尽快解决这个问题,所以我在这里打开了一个包含更多数据的线程。

更新二

我意识到 RVM 初始化脚本是正在打印的脚本:https://github.com/wayneeseguin/rvm/blob/master/scripts/initialize。不知道为什么..

更新 IV

我的.bashrc

# define aliases
alias sudo='sudo '
#alias ruby='ruby1.9'
alias apacherestart='sudo apachectl -k restart'

# define hist properties
HISTFILESIZE=1000000000
HISTSIZE=1000000

# define path to programs
PATH=/opt/local/bin:opt/local/sbin:/opt/subversion/bin:/opt/local/apache2/bin/:/opt/local/lib/python2.4/site-packages/django/bin:$PATH

# define manpath
MANPATH=/opt/local/share/man:$MANPATH

# export env vars
export HISTFILESIZE HISTSIZE PATH MANPATH
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting

我的.bash_profile

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

【问题讨论】:

  • 这种情况只发生在cd而不是其他命令?如果您打开一个新终端,它也会这样做吗? echo "$PS1"echo "$PROMPT_COMMAND" 输出什么? type -a cd 说什么?
  • @DennisWilliamson echo "$PS1" echo "$PS1" \h:\W \u\$ update_terminal_cwd;echo "$PROMPT_COMMAND" echo "$PROMPT_COMMAND" update_terminal_cwd; update_terminal_cwd; 键入 type -a cd 打印整个 RVM 脚本。
  • 当我打开一个新终端时,它不会发生。我只会看到Last login: Sat Jul 14 12:13:00 on ttys001 You have new mail. jaspersmbp:~ jasper$
  • 试试unset -f cdunalias cd
  • 由于它不会发生在新终端中,因此您无需担心像.bashrc 这样的启动文件,因此这个问题基本上没有实际意义。关闭终端并打开一个新终端。完成。

标签: ruby bash osx-lion rvm


【解决方案1】:

您的cd 命令不知何故变成了别名,或者创建了一个名为“cd”的函数。

您可以使用以下任一方式撤消这些操作:

unalias cd

unset -f cd

【讨论】:

  • 感谢所有 cmets 和提示。不知何故 cd 得到了别名。在我打开一个新终端后,现在一切都好。还能够使用 rvm use 1.9.3 再次加载选择的 Ruby。
【解决方案2】:

你应该可以暂时恢复

unalias cd

看来您需要弄清楚您的.bashrc 中发生了哪些更改并恢复所有这些更改。如果安装脚本写得很好,它应该已经进行了备份,或者以某种方式记录了更改的内容。

【讨论】:

  • [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function* 已添加到 .bash_profile,这是使用 RVM 所必需的。丹尼斯和你提到了unalias cd。不知道这有什么帮助.. .bashrc 没有任何变化,除了评论红宝石别名 #alias ruby='ruby1.9'
  • .rvm/scripts/rvm 显然包括别名出cd 的功能。来自.bash_profile 的行是您需要删除的,是的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-23
  • 1970-01-01
  • 2013-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多