2010-03-06 31 views
12

Ubuntu 9.10de Ruby Gems devuelve "comando no encontrado"

newgem Acaba de instalar

gem install newgem 

y cuando intento

newgem new_project 

me sale

[email protected]:~$ newgem newproject 
newgem: command not found 

he comprobado mi ruta a través de echo $ PATH

[email protected]:~$ echo $PATH 
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/adam/.gem 

y mi joya ambiente

[email protected]:~$ gem environment 
RubyGems Environment: 
    - RUBYGEMS VERSION: 1.3.6 
    - RUBY VERSION: 1.8.7 (2009-06-12 patchlevel 174) [x86_64-linux] 
    - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8 
    - RUBY EXECUTABLE: /usr/bin/ruby1.8 
    - EXECUTABLE DIRECTORY: /usr/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86_64-linux 
    - GEM PATHS: 
    - /usr/lib/ruby/gems/1.8 
    - /home/adam/.gem/ruby/1.8 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - http://rubygems.org/ 

No estoy caliente con caminos, etc, pero todos los directorios GEM en la lista anterior son en el camino así que ¿cómo es que no puede encontrar el comando?

Respuesta

26

Su variable $PATH debe incluir la ruta exacta a su directorio Ruby's bin. Agregar un directorio al PATH no incluye sus subcarpetas. Trate de añadir el directorio bin a través de:

export PATH=$PATH:/home/adam/.gem/ruby/1.8/bin 

o si ha instalado la gema usando sudo:

export PATH=$PATH:/usr/lib/ruby/gems/1.8/bin 

Es posible que desee agregar esto a su archivo .bashrc, de modo que usted no tiene que establecer esto manualmente cada vez que abres un nuevo bash.

+0

ahh suponía que si añadía /adam/.gem/ a la ruta, también se buscarían automáticamente sus subdirectorios. tonto de mi parte gracias por eso – robodisco

+5

Tenga en cuenta que en algunas versiones de Ubuntu, la ruta 1.8 bin bin se puede encontrar en */var/lib/gems/1.8/bin *. Este comando también es útil para agregar la ruta de sudo a su perfil de bash * echo -e '\ nexport RUTA = $ RUTA: /var/lib/gems/1.8/bin' >> ~/.bashrc * – jdev

+2

Puede encontrar la ruta exacta parche ejecutando "entorno gema". El DIRECTORIO EJECUTABLE es la línea que necesita. –

1

Si utiliza RVM (la mayoría lo hace), entonces se encargará de esto por usted. De hecho, ponerlo en su camino directamente puede entrar en conflicto. Sin embargo, debes establecer un ruby ​​para usar. Ejecute uno de estos en la línea de comando.

rvm use 1.9.3 

o

rvm use --default 1.9.3 
0

(Sólo robar el comentario de @ John Franklin)

$ gem environment 

le dirá el EXECUTABLE DIRECTORY. Luego, coloque el valor que sea en su RUTA como lo hace (en su .bashrc u otro archivo de configuración del shell).

export PATH="$PATH:/path/to/bin" 

Vuelva a cargar su caparazón y debería poder utilizar la gema instalada.