rubygem“参数列表太长”

时间:2011-03-03 17:08:32

标签: rubygems

我的问题是在运行一个使用Ruby密集的进程期间或之后,当我使用任何gem命令,包括gem --version或gem install rake时,它会挂起一分钟,然后给我这个错误:

$ gem list
/Users/username/.rvm/bin/gem: line 5: /Users/username/.rvm/bin/gem: Argument list too long
/Users/username/.rvm/bin/gem: line 5: /Users/username/.rvm/bin/gem: Unknown error: 0

文件位于:第5行:/Users/username/.rvm/bin/gem

#!/usr/bin/env bash

if [[ -s "/Users/username/.rvm/environments/ruby-1.8.7-p334" ]] ; then
  source "/Users/username/.rvm/environments/ruby-1.8.7-p334"
  exec gem "$@"                # this is line 5
else
  echo "ERROR: Missing RVM environment file: '/Users/username/.rvm/environments/ruby-    1.8.7-p334'" >&2
exit 1
fi

我找到的唯一方法是重新启动计算机,这显然是不受欢迎的。我使用的是OSX 10.6.5

我花了很长时间试图找到遇到此问题的其他人,并且没有成功。你知道为什么会这样吗?

7 个答案:

答案 0 :(得分:37)

这个问题是你设置rvm使用--default一个不存在的ruby版本。

您必须准确指定它,否则它无法正常工作。

答案 1 :(得分:7)

通过调用

来解决它
rvm use 1.9.3

而不是

rvm use 1.9.3 --default

现在一切正常。

答案 2 :(得分:4)

好像你正在递归地调用你的脚本......

你可以

  1. 重命名脚本

  2. 使用完整的/ usr / bin / gem路径来引用rubygems

  3. 编辑:奖励积分和魔法cookie给任何能告诉我 为什么 她的脚本是递归调用的。仅供参考,它不应该在正常情况下发生;)

答案 3 :(得分:2)

我发现这是因为/ usr / local / rvm / rubies / $ RUBY_VERSION / bin / gem的权限错误。我通过运行来纠正它们:

sudo chown -R root:rvm /usr/local/rvm

您还需要将您的用户添加到rvm组:

sudo gpasswd -a YOUR_USERNAME rvm

答案 4 :(得分:1)

我通过安装RailsInstaller

解决了这个问题

答案 5 :(得分:0)

我能够通过使用

解决此问题(安装gem时)
     rvm all do gem install <gemname>
在你的情况下,它将是:

    rvm all do gem list

答案 6 :(得分:0)

我也得到了这个错误。对我来说,它是通过离开项目文件夹然后返回到项目文件夹来解决的。我不确定为什么会这样,但也许它也适用于其他人。

cd ..

cd project