Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rvm install … should ensure creation of bin directory #965

Closed
skalee opened this issue May 16, 2012 · 2 comments
Closed

rvm install … should ensure creation of bin directory #965

skalee opened this issue May 16, 2012 · 2 comments
Assignees
Milestone

Comments

@skalee
Copy link

skalee commented May 16, 2012

The lack of bin directory makes rvm not working at all for Fish Shell 1.23.1 on OS X 10.6.

When I try to switch to this ruby (rvm use rbx-2.0) I am getting error like

set: Could not add component /(my home)/.rvm/gems/rbx-2.0/bin to PATH.
set: Value too large to be stored in data type

Creating empty directory with mkdir solves the problem, but rvm could do it for me.

@ghost
Copy link

ghost commented May 16, 2012

hehe, well RVM only supports Bash and Zsh for shells. Never heard of Fish Shell myself, and I too run a Mac (MBP). I'm not understanding exactly what the issue is. Please uninstall RVM completely, set up debugging in your shell, and rerun the rvm install, then gist the entire output and add the https url returned to this report. ( In bash that would be set -x ; curl -L get.rvm.io | bash -s stable )

Incidently, the $HOME/.rvm/gems/rbx-2.0/bin directory is only created if gems are actually installed. Since the $HOME/.rvm/gemsets/default.gems file is empty (we don't actually install any gems into the 'default' gemset currently) the bin dir is not created. There is no need for it to be created. Its added to the path simply so that if there were any gems there, their binaries would be loaded. When you do install a gem via rvm use rbx-2.0 ; gem install some_gem then that directory will be created.

We don't see this behaviour under our supported shells which are Bash and Zsh. I surmise that your Fish Shell doesn't support non-existent directory preloading. Thats not necessarily a bad thing, its just not behaviour akin to the more mature shells like Bash and Zsh which simply use the PATH for executable file searches.

BTW, under both Linux and OSX your rvm info should look like this with the difference being simply the $HOME variable contents.

∴ rvm install rbx-2.0
rbx-2.0 installing #dependencies
Cloning git://github.com/rubinius/rubinius.git
Pulling from origin
Copying from repo to source...
rbx-2.0 - #configuring
rbx-2.0 - #compiling

rbx-2.0 - adjusting #shebangs for (erb ri rdoc).
rbx-2.0 - #importing default gemsets (/home/me/.rvm/gemsets/)
11:06:42 me@opensuse:~ ruby-1.9.3-p125

11:06:42 me@opensuse:~ ruby-1.9.3-p125
∴ rvm use rbx-2.0
Using /home/me/.rvm/gems/rbx-2.0
11:06:49 me@opensuse:~ rbx-2.0
∴ rvm info

rbx-2.0:

system:
uname: "Linux opensuse 3.1.10-1.9-desktop #1 SMP PREEMPT Thu Apr 5 18:48:38 UTC 2012 (4a97ec8) x86_64 x86_64 x86_64 GNU/Linux"
bash: "/bin/bash => GNU bash, version 4.2.10(1)-release (x86_64-suse-linux-gnu)"
zsh: "/usr/bin/zsh => zsh 4.3.12 (x86_64-suse-linux-gnu)"

rvm:
version: "rvm 1.13.5 (master) by Wayne E. Seguin wayneeseguin@gmail.com, Michal Papis mpapis@gmail.com [https://rvm.io/]"
updated: "22 hours 16 minutes 23 seconds ago"

ruby:
interpreter: "rubinius"
version: "2.0.0dev"
date: "rubinius 2.0.0dev (1.8.7 40c0dc72 yyyy-mm-dd JI) [x86_64-unknown-linux-gnu]"
platform: "x86_64-unknown-linux-gnu"
patchlevel: "1.8.7 40c0dc72 yyyy-mm-dd JI"
full_version: "rubinius 2.0.0dev (1.8.7 40c0dc72 yyyy-mm-dd JI) [x86_64-unknown-linux-gnu]"

homes:
gem: "/home/me/.rvm/gems/rbx-2.0"
ruby: "/home/me/.rvm/rubies/rbx-2.0"

binaries:
ruby: "/home/me/.rvm/rubies/rbx-2.0/bin/ruby"
irb: "/home/me/.rvm/rubies/rbx-2.0/bin/irb"
gem: "/home/me/.rvm/rubies/rbx-2.0/bin/gem"
rake: "/home/me/.rvm/gems/rbx-2.0@global/bin/rake"

environment:
PATH: "/home/me/.rvm/gems/rbx-2.0/bin:/home/me/.rvm/gems/rbx-2.0@global/bin:/home/me/.rvm/rubies/rbx-2.0/bin:/home/me/.rvm/bin:/home/me/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/opt/kde3/bin:/opt/cross/bin"
GEM_HOME: "/home/me/.rvm/gems/rbx-2.0"
GEM_PATH: "/home/me/.rvm/gems/rbx-2.0:/home/me/.rvm/gems/rbx-2.0@global"
MY_RUBY_HOME: "/home/me/.rvm/rubies/rbx-2.0"
IRBRC: "/home/me/.rvm/rubies/rbx-2.0/.irbrc"
RUBYOPT: ""
gemset: ""
11:06:49 me@opensuse:~

@skalee
Copy link
Author

skalee commented May 16, 2012

Fish is not officially supported, however some help page https://rvm.io/integration/fish/ exists. And yes, in Fish you can't append $PATH with some non-existing directory. I know that creation of ~/.rvm/gems/…/bin can be skipped in both supported shells, but I also believe that there is no good reason not to create them eagerly, especially that it would make rvm working in Fish. (Fish would still complain about some problems, but work anyway).

@ghost ghost assigned mpapis May 16, 2012
mattconnolly pushed a commit to mattconnolly/rvm that referenced this issue May 20, 2012
@mpapis mpapis closed this as completed in 063ac2a May 21, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants