2009-12-23 50 views
25

Tôi đang sử dụng Ubuntu 9.10 Karmic Koala và Ruby 1.9.1.Rails đã cài đặt nhưng lệnh đường ray cho biết nó chưa được cài đặt

Tôi đã cài đặt Rails sử dụng sudo gem install rails, cài đặt tất cả thư viện cho tôi.

Khi tôi nhập rails vào thiết bị đầu cuối, nó nói.

Chương trình 'đường ray' hiện chưa được cài đặt. Bạn có thể cài đặt nó bằng cách gõ: sudo apt-get install ray ray: command not found

Tôi có thể tìm cào, mà là dưới rake1.9.1, nhưng Rails là hư không để được tìm thấy, ai đó có thể chỉ cho tôi đúng hướng?

Chỉnh sửa: đường dẫn đến ruby ​​không phải là vấn đề, vấn đề ở đâu là đường ray? làm thế nào để thực hiện nó? đường ray không hoạt động, đâu là cuộc sống vô giá?

+0

Bạn đã cập nhật biến PATH của mình để bao gồm thư mục bin của đường ray cài đặt chưa? – MarkPowell

+0

không .. Tôi không, tôi nên trỏ đến đâu? Tôi không thể tìm thấy thực thi của nó. xác định vị trí đường ray chỉ trả về các liên kết của tài liệu. – rgoytacaz

+0

có thể trùng lặp của [Rails giữ cho tôi biết rằng nó hiện không được cài đặt] (http://stackoverflow.com/questions/7788946/rails-keeps-telling-me-that-its-not-currently-installed) –

Trả lời

20

Như những người khác nói, điều này rất có thể là vấn đề biến PATH trên tệp bashrc/bash_profile của bạn.

You can learn how to change PATH..

Bạn có thể lấy biến PATH hiện bằng cách gõ echo $PATH

+0

nó không phải là một vấn đề đặt con đường ở đó, có vẻ như đường ray nó không được cài đặt ở tất cả, làm cách nào để kiểm tra xem nó thực sự được cài đặt? whats thực thi của nó? nó sống ở đâu? – rgoytacaz

+18

Chạy 'môi trường đá quý' và bạn sẽ tìm thấy' TRỰC TIẾP THỰC HIỆN '. –

+4

BẠN ĐANG TUYỆT VỜI! THANKS TK! Đó chính là điều tôi cần. Nó chỉ ra rằng cài đặt nó thông qua đá quý không tạo ra một liên kết tượng trưng. Tôi tạo ra nó và trỏ nó vào thư mục thực thi. làm việc tuyệt vời – rgoytacaz

-1

Bạn có thể muốn bao gồm đường dẫn của thư mục Ruby/Jruby trong tệp bashrc của bạn. Điều đó sẽ đảm bảo rằng bạn có thể chạy nó từ bất cứ đâu. Đừng quên khởi động lại thiết bị đầu cuối hoặc "source .bashrc" để tải lại các biến trong thiết bị đầu cuối.

+0

Vấn đề isnt với ruby, ruby ​​hoạt động rất tốt. Nhưng khi chạy đường ray nó nói nó không được cài đặt, mặc dù nếu tôi làm danh sách đá quý, nó sẽ hiển thị đúng cho tôi, đường ray 2.3.5 – rgoytacaz

+0

Tôi nhìn lên thư mục bin của cài đặt Ruby của tôi. Nó có một tập tin "ray". Nếu tôi đổi tên thành bất kỳ thứ gì khác và cố gắng chạy đường ray; nó không giàn giáo hoặc tạo dự án..instead nói rằng đường ray không được cài đặt làm sudo apt-get install để cài đặt đường ray. Nhưng nếu tôi đổi tên nó thành đường ray; sau đó nó bắt đầu hoạt động. Vì vậy, tôi khá chắc chắn rằng miễn là đường ray được cài đặt đúng cách và bạn có nó trong thư mục bin nó sẽ chạy. Có lẽ tôi chưa cài đặt nó như một viên ngọc cộng với tôi đang sử dụng JRuby. – Priyank

1

gem nên đã đặt đường ray kịch bản thực thi trong cùng một vị trí như ruby ​​của. Tôi sẽ nhìn vào đó và đảm bảo rằng các quyền được đặt chính xác và nó có thể thực thi được.

11

Chỉ cần có cùng một vấn đề chỉ cần đặt sau trong .bashrc của bạn

PATH="${PATH}:/var/lib/gems/1.8/bin/" 
+2

PATH = "$ {PATH}:/var/lib/gems/1.8/bin /" –

14

Nếu bạn đang chạy một đường ray lệnh ngay sau khi cài đặt đường ray, bạn sẽ cần phải khởi động lại thiết bị đầu cuối của bạn trước khi lệnh của bạn sẽ được công nhận.

+1

Hãy cẩn thận khi đăng bản sao và dán câu trả lời/câu trả lời chính xác cho nhiều câu hỏi, những câu hỏi này có xu hướng bị cộng đồng gắn cờ là "spam". Nếu bạn đang làm điều này thì điều đó thường có nghĩa là các câu hỏi là các bản sao để gắn cờ chúng như vậy: http://stackoverflow.com/a/13149543/419 – Kev

+1

Được gắn cờ. Tôi sẽ cẩn thận hơn về điều đó. Câu trả lời có thể hữu ích cho những người đi qua một trong hai bài (như tôi), đó là lý do tại sao tôi chia sẻ nó. –

+0

nhận xét này là khá underrated nguyên nhân mà giải quyết nó lol – RDSpinz

1

Tôi nghĩ đây không phải là cách chính xác để giải quyết vấn đề này. Nhưng những gì tôi đã làm là, Tôi đã tạo ra một tập tin rails.rb trong thư mục thực thi của tôi bởi vì khi tôi mở tập tin thư mục đó không có và đặt nội dung sau đây.

#!/usr/bin/env ruby_noexec_wrapper 
# 
# This file was generated by RubyGems. 
# 
# The application 'railties' is installed as part of a gem, and 
# this file is here to facilitate running it. 
# 

require 'rubygems' 

version = ">= 0" 

if ARGV.first =~ /^_(.*)_$/ and Gem::Version.correct? $1 then 
    version = $1 
    ARGV.shift 
end 

gem 'railties', version 
load Gem.bin_path('railties', 'rails', version) 

sau đó tôi cố gắng chạy rails s trong dự án của tôi và các tác phẩm của mình ..

Nhưng trước khi điều này đảm bảo rằng thư mục thực thi có trong đường dẫn của bạn như tôi có đã có trong máy tính của tôi: /home/anand/.rvm/gems/ruby-1.9.3-p286/bin:/home/anand/.rvm/gems/[email protected]/bin:/home/anand/.rvm/rubies/ruby-1.9.3-p286/bin:/home/anand/.rvm/bin

Theo TK cho biết bạn có thể lấy đường dẫn thực thi bằng cách sử dụng gem environment lệnh

1

Tôi đã thêm các dòng sau vào tệp .bashrc của tôi và nó hoạt động.

[[-s "$ HOME/.rvm/scripts/rvm"]] & & nguồn "$ HOME /.RVM/scripts/RVM "# tải RVM thành một phiên vỏ như một hàm

PATH =" $ {PATH}:. $ {HOME}/RVM/đá quý/ruby-1.9.3-p327/bin/"

3

Giả sử ruby-2.0.0-p247 được cài đặt, rails tọa lạc tại vị trí sau.

[email protected]$ ls -l ~/.rvm/gems/ruby-2.0.0-p247/bin/ 
total 60 
-rwxr-xr-x 1 prayag prayag 484 Oct 2 00:20 cap 
-rwxr-xr-x 1 prayag prayag 487 Oct 2 00:20 capify 
-rwxr-xr-x 1 prayag prayag 475 Oct 1 21:13 erubis 
-rwxr-xr-x 1 prayag prayag 469 Oct 1 21:13 rackup 
-rwxr-xr-x 1 prayag prayag 480 Oct 1 21:18 rails 
-rwxr-xr-x 1 prayag prayag 494 Oct 2 00:27 restclient 
-rwxrwxr-x 1 prayag prayag 368 Oct 1 21:10 ruby_executable_hooks 
-rwxr-xr-x 1 prayag prayag 467 Oct 2 00:27 sass 
-rwxr-xr-x 1 prayag prayag 475 Oct 2 00:27 sass-convert 
-rwxr-xr-x 1 prayag prayag 467 Oct 2 00:27 scss 
-rwxr-xr-x 1 prayag prayag 487 Oct 1 21:20 sprockets 
-rwxr-xr-x 1 prayag prayag 483 Oct 2 00:29 stripe-console 
-rwxr-xr-x 1 prayag prayag 467 Oct 1 21:17 thor 
-rwxr-xr-x 1 prayag prayag 467 Oct 1 21:20 tilt 
-rwxr-xr-x 1 prayag prayag 474 Oct 1 21:16 tt 

[1].bash_profile nên đã được chứa dòng sau, nếu không muốn nói thêm.

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function* 

[2] Thêm dòng sau vào cuối .bashrc.

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting 
PATH="${PATH}:${HOME}/.rvm/gems/ruby-2.0.0-p247/bin/" 

[3] Nạp lại ~/.bashrc

$ source ~/.bashrc 

Và, nó cũng làm việc.

2

Nếu bạn đang chạy rbenv, bạn sẽ cần chạy rbenv rehash để truy cập vào lệnh rails-api.

0

Một giải pháp khả thi là không duy trì hai tập tin cấu hình khác nhau .bash_profile.bashrc

Nó gợi ý trong bài viết tuyệt vời này về sự khác biệt giữa .bash_profile.bashrc là nguồn .bashrc từ file .bash_profile của bạn, sau đó đặt các thiết lập PATH và phổ biến trong .bashrc.

Trích dẫn,

thêm những dòng sau đây để .bash_profile:

if [ -f ~/.bashrc ]; then source ~/.bashrc fi

cuối quote

1

Nếu bạn đang sử dụng rbenv đừng quên thêm

eval "$(rbenv init -)" 

vào .bash_profile hoặc các tập lệnh khởi động khác của bạn. chạy rbenv rehash cũng là cần thiết.

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