2010-03-06 28 views
12

Ubuntu 9.10của Ruby Gems trả "không tìm thấy lệnh"

Chỉ cần cài đặt newgem

gem install newgem 

và khi tôi cố gắng

newgem new_project 

tôi nhận được

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

Ive kiểm tra của tôi đường dẫn qua echo $ PATH

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

và đá quý của tôi môi trường

[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/ 

Im không nóng với đường dẫn vv nhưng tất cả các thư mục đá quý liệt kê ở trên đang trên con đường để làm thế nào mà nó không thể tìm thấy lệnh?

Trả lời

26

Biến số $PATH cần bao gồm đường dẫn chính xác vào thư mục bin của Ruby. Thêm thư mục vào PATH không bao gồm thư mục con của nó. Thử thêm thư mục bin qua:

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

hoặc nếu bạn cài đặt các viên ngọc sử dụng sudo:

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

Bạn có thể muốn thêm video này vào tập tin .bashrc của bạn, do đó bạn không cần phải thiết lập điều này theo cách thủ công mỗi khi bạn mở một bash mới.

+0

ahh tôi đã giả sử rằng nếu tôi thêm /adam/.gem/ vào đường dẫn thì các thư mục con của nó cũng sẽ tự động tìm kiếm. câm tôi. cảm ơn vì điều đó – robodisco

+5

Lưu ý rằng trên một số phiên bản của Ubuntu, đường dẫn gem 1.8 có thể tìm thấy tại */var/lib/gems/1.8/bin *. Lệnh này cũng có ích để thêm đường dẫn sudo vào hồ sơ bash của bạn * echo -e '\ nexport PATH = $ PATH: /var/lib/gems/1.8/bin' >> ~/.bashrc * – jdev

+2

Bạn có thể tìm thấy chính xác vá bằng cách chạy "môi trường đá quý". DIRECTORY EXECUTABLE là dòng bạn cần. –

1

Nếu bạn sử dụng RVM (hầu hết các công việc), thì nó sẽ xử lý việc này cho bạn. Trong thực tế đặt nó trong con đường của bạn trực tiếp có thể xung đột. Bạn phải thiết lập một ruby ​​để sử dụng mặc dù. Chạy một trong các lệnh này trên dòng lệnh.

rvm use 1.9.3 

hoặc

rvm use --default 1.9.3 
0

(Chỉ cần ăn cắp comment @ John Franklin)

$ gem environment 

Will tell you các EXECUTABLE DIRECTORY. Sau đó đặt bất cứ giá trị nào trong PATH của bạn như vậy (trong tệp .bashrc hoặc tệp cấu hình trình bao khác của bạn).

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

Tải lại vỏ của bạn và sau đó bạn có thể sử dụng đá quý đã cài đặt.

Các vấn đề liên quan