Ubuntu 9.10 Karmic KoalaとRuby 1.9.1。
インストールしたRails using Sudo gem install Rails
、私のためにすべてのライブラリをインストールしました。
ターミナルでRails
と入力すると、それが表示されます。
プログラム「Rails」は現在インストールされていません。次のように入力してインストールできます:Sudo apt-get install Rails rails:command not found
Rake1.9.1の下にあるrakeを見つけることができますが、Railsはどこにも見つかりません。誰かが私を正しい方向に向けることができますか?
編集:Rubyへのパスは問題ではありません、問題はRailsのどこにありますか?それをどのように実行しますか?Rails実行可能ファイルは生きていますか?
他の人が言うように、これはbashrc/bash_profileファイルのPATH変数の問題である可能性が非常に高いです。
echo $PATH
と入力すると、現在のPATH変数を取得できます
Railsのインストール後にRails command immediatelyを実行している場合、コマンドが認識される前にターミナルを再起動する必要があります。
同じ問題が発生しただけで、あなたの.bashrcに次のものを入れてください
PATH="${PATH}:/var/lib/gems/1.8/bin/"
Ruby-2.0.0-p247
がインストールされていると仮定すると、Rails
は次の場所にあります。
prayag@prayag$ 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
には、追加しない場合、すでに次の行が含まれている必要があります。
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a Shell session *as a function*
[2].bashrc
の最後に次の行を追加します。
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
PATH="${PATH}:${HOME}/.rvm/gems/Ruby-2.0.0-p247/bin/"
[3]リロード~/.bashrc
$ source ~/.bashrc
そして、それは動作するはずです。
Rbenvを実行している場合は、rbenv rehashを実行してRails-apiコマンドにアクセスする必要があります。
gem
は、Rubyと同じ場所にRails実行可能スクリプトを配置する必要がありました。そこを調べて、アクセス許可が正しく設定され、実行可能であることを確認します。
これはこの問題を解決する正しい方法ではないと思います。しかし、私が実行したのは、実行可能ディレクトリにRails.rbファイルを作成したことです。なぜなら、そのディレクトリファイルを開いたときに、そこにファイルがなく、次のコンテンツを配置したからです。
#!/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)
それから私は私のプロジェクトとその作品でRails s
を実行しようとします。
しかし、これの前に、すでにマシンにあるように、実行可能ディレクトリがパスにあることを確認してください:/home/anand/.rvm/gems/Ruby-1.9.3-p286/bin:/home/anand/.rvm/gems/Ruby-1.9.3-p286@global/bin:/home/anand/.rvm/rubies/Ruby-1.9.3-p286/bin:/home/anand/.rvm/bin
TKによると、gem environment
コマンドを使用して実行可能パスを取得できます
.bashrcファイルに次の行を追加し、機能しました。
[[-s "$ HOME/.rvm/scripts/rvm"]] && source "$ HOME/.rvm/scripts/rvm"#RVMをシェルセッションにロード関数として
PATH = "$ {PATH}:$ {HOME} /。rvm/gems/Ruby-1.9.3-p327/bin /"
rbenv
を使用している場合、追加を忘れないでください
eval "$(rbenv init -)"
.bash_profile
またはその他の起動スクリプト。実行rbenv rehash
も必要です。
考えられる解決策は、2つの異なる構成ファイル.bash_profile
および.bashrc
を維持しないことです。
.bash_profile
と.bashrc
の違いに関するこの優れた投稿では、.bashrc
ファイルから.bash_profile
をソースにしてから、.bashrc
にPATHと共通設定を入れることをお勧めします。 。
引用、
.bash_profile
に次の行を追加します。
if [ -f ~/.bashrc ]; then source ~/.bashrc fi
引用終了