2012-11-17 20 views
5

Tôi là người mới tuyệt đối trong dự án Ruby và Rails, vì vậy tôi xin lỗi nếu đây là câu hỏi ngớ ngẩn.Các vấn đề với dây công cụ heroku

Tôi đã cài đặt thanh công cụ heroku bằng cách sử dụng wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | sh. Ngoài ra tôi đã thử gem install heroku. Nhưng khi tôi gõ:

[email protected]:~$ heroku version 
<internal:gem_prelude>:1:in `require': cannot load such file -- rubygems.rb (LoadError) 
    from <internal:gem_prelude>:1:in `<compiled>' 

Tôi đã kiểm tra trong google và người cho rằng đá quý và ruby ​​hiện tại là phiên bản khác nhau vì vậy tôi đã kiểm tra nó và họ dường như giống nhau:

[email protected]:~$ which ruby 
/home/MY_USER/.rvm/rubies/ruby-1.9.3-p327/bin/ruby 

[email protected]:~$ gem env | grep 'RUBY EXECUTABLE' 
    - RUBY EXECUTABLE: /home/MY_USER/.rvm/rubies/ruby-1.9.3-p327/bin/ruby 

tôi không biết phải làm gì nữa, vì vậy hãy giúp đỡ.

Xin lỗi vì câu hỏi có thể ngu ngốc, cảm ơn trước.

EDIT: Quên để nói rằng tôi đang chạy Ubuntu 12.10.

+1

Thử chạy '' ruby ​​'mà phiên bản heroku''' .. điều gì xảy ra sau đó? Lưu ý các dấu gạch chéo xung quanh 'mà heroku'. – Casper

+0

'MY_USER @ home-PC: ~ $ ruby ​​\' phiên bản heroku \ 'trả về: ' heroku-toolbelt/2.33.1 (i686-linux) ruby ​​/ 1.9.3' – suricactus

Trả lời

17

Vấn đề là các heroku thực thi bạn cài đặt có thể bắt đầu với một dòng như sau:

#!/usr/bin/ruby 

Điều này sẽ buộc các lệnh heroku luôn luôn sử dụng ruby ​​trên toàn hệ thống (/usr/bin/ruby) và nó sẽ không bao giờ chạy phiên bản rvm của ruby.

Để khắc phục nó chỉ cần chỉnh sửa dòng đầu tiên của heroku kịch bản này:

#!/usr/bin/env ruby 

này sẽ làm cho chạy heroku lệnh nào ruby ​​lệnh là trong hiện tại PATH, thay vì một con đường cứng mã hoá như trước đây .

Để tìm vị trí của heroku kịch bản, vì vậy bạn có thể chỉnh sửa nó, chỉ cần gõ:

which heroku 

... trên dòng lệnh của bạn. Nó sẽ in ra vị trí của kịch bản để bạn có thể tìm thấy nó và tải nó vào trình soạn thảo của bạn.

+0

Cảm ơn bạn, tôi hoàn toàn hiểu bạn có nghĩa là '' 'whick hereku \' 'trả về cùng một lỗi' : 1: in \ 'require \ ': không thể tải tập tin như vậy - rubygems.rb (LoadError) từ : 1 : trong '' '. Vì vậy, tôi tìm kiếm tệp trong Nautilus và tìm thấy tệp 'heroku' trong'/usr/local/heroku/bin', dòng đầu tiên là '#!/Usr/bin/env ruby1.9.1'. Tôi đã thay đổi nó thành '#!/Usr/bin/env ruby', có vẻ như đã hoạt động. Cảm ơn bạn rất, rất nhiều, bây giờ tôi có thể cố gắng học ngôn ngữ này. Cảm ơn một lần nữa! – suricactus

+0

@ erik1001 Ok. Cảm ơn và xin lỗi tôi xấu. Tôi đã chỉnh sửa câu trả lời ('mà heroku' đáng lẽ phải được chạy mà không có backticks). Nhưng tốt mà bạn quản lý để con số nó ra anyway. Chúc may mắn với ruby. – Casper

+0

Đôi khi, dòng đầu tiên có thể thay vào đó giống như '/ usr/bin/env ruby1.9.1', (bao gồm 'env' trong nó rồi) nhưng vẫn chỉnh sửa nó thành'/usr/bin/env ruby' (chỉ đơn giản là 'ruby' và không có phiên bản) nên làm cho nó hoạt động với rvm. –

0

Ngoài ra nếu bạn không có quyền ghi bạn có thể nhập:

:w !sudo tee % > /dev/null 

để lưu thành công.