Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

rubygem "Argument list too long"

Tags:

rubygems

My problem is that during or after running a process which uses Ruby intensively, when I use any gem command including gem --version or gem install rake, it hangs for just over a minute and then gives me this error:

$ 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

file at : line 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

The only way that I have found to get this working again is to restart my computer, which is obviously undesirable. I am using OSX 10.6.5

I have spent quite a while trying to find anyone else who has had this problem, and been unsuccessful. Do you have any idea why this might be happening?

like image 546
compiledweird Avatar asked Mar 03 '11 17:03

compiledweird


3 Answers

This issue is that you set rvm to use --default a nonexistent ruby version.

You have to specify it exactly, or it doesn't work correctly.

like image 170
Jade Avatar answered Jan 01 '23 19:01

Jade


Solved it by calling

rvm use 1.9.3

istead of

rvm use 1.9.3 --default

Everything works now.

like image 27
mArtinko5MB Avatar answered Jan 01 '23 19:01

mArtinko5MB


Seems like you're calling your script recursively...

You can

  1. Rename your script

  2. Use the full /usr/bin/gem path to refer to rubygems

Edit: Bonus points and a magic cookie to whoever can tell me why her script is being called recursively. Just FYI it should not be happening under normal circumstances ;)

like image 41
SpaceKraken Avatar answered Jan 01 '23 19:01

SpaceKraken