문제

나를 따라하려고"에 따라 시작으로 엔진에"레일드의 튜토리얼에서 발견이:

$ bin/rails plugin new blorgh --mountable

할 때 내가 입력한 이에미널을 얻을:

bash: bin/rails: No such file or directory

려고 하면 그냥 $ rails 그것은 확인을 작동합니다.

었을 사용하여 명령 라인의 몇 개월,레일 뿐입니다.알$sign 하지만 난에 대한 혼란의 의미는"bin"습니다.내가 사용 유형""레일 후 오른쪽$지만,이는 튜토리얼 말을 사용하는"bin"...

무엇 bin/ 의미합니까?

도움이 되었습니까?

해결책

tl;박사

실행 bundle install --binstubs 고 그것은 작동합니다.당신은 당신이 그것을 한번에 번들러한다는 것을 기억할 것입니다 그것을 물었(한)를 이용하실 수 있습니다

더 이상 응답

설치할 경우 번들 bundle --binstubs,번들러 설치됩니다 모든의 특정 binstubs 로 bin/ 하위 디렉터리(상대적록 gemfile 을),오히려 그들을 가하고 gemset 의 글로벌 binstub 경로입니다.

당신은 일반적으로 이를 수행하기:

  1. 는지 확인 rails binstub 당신은 하나에도록 gemfile 을(반대하여 다른 버전을 가지고 설치하 gemset 나중에 별도로 번들러),고
  2. 을 향상시킬 수행 시간(이후 그것이 기능적으로 동일 bundle exec rails 를 제외하고 뺀 하위 프로세스 호출).

글로벌 binstubs 대 번들러 binstubs

는 경우에 당신은 유형 which rails, 을 얻을 것이 긴 경로 /usr/local/rvm/gems/jruby-1.7.18/bin/rails, 며,내용: cat `which rails`

#!/usr/bin/env jruby_executable_hooks
#
# 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
  str = ARGV.first
  str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding
  if str =~ /\A_(.*)_\z/
    version = $1
    ARGV.shift
  end
end

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

후 실행 bundler --binstubs, 는 경우에,당신 cat bin/rails, 에,당신은 같은 것을 얻을:

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

require 'pathname'
ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
  Pathname.new(__FILE__).realpath)

require 'rubygems'
require 'bundler/setup'

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

의 주요 차이점이 있는 bin/ 버전을 설정합니다 BUNDLE_GEMFILE 환경변수가 필요합 bundler/setup, 는 무엇을 말한 번들러를 가 그것의 일을 하는 보석으로 경로입니다.이 bin/rails 스크립트가 번들러를 인식하고 인식하도록 gemfile 을 할 수 있도록 환경을 준비입니다.

나는 일반적으로 사용하는 것이 좋습 --binstubsbin/x 호출을 통해 gemset 버전입니다.

다른 팁

시나리오를 생각해보십시오:

을 했다는 응용 프로그램을 사용하여 레일 버전 4.0.0.나의 목표는 업그레이드 레일 4.1.9.그렇게 했어 업그레이드하는 단계별:첫째,업그레이드 4.0.13,다음 4.1 고 마지막으로 4.1.9.

모든 것이 순조로웠습니다.모든 테스트를 통과하여 RSpec.

마지막으로,전라북도 전주시 완산구 서버 rails s.Booom!루비가 추락했다.다음 사용 bin/rails s.모든 것을 확인했다.

그래서 내가 생각하는 경우에 당신은 다른 버전의 레일이 설정 시스템에서,그것을 사용하는 것이 더 안전 bin/rails 옵션입니다.

P.S.는지 확인하기 위해 가정이 올바른지,나는 모두 제거 레일 버전을 제외하고 4.1.9 및을 다시 실행하여 서버 rails s.더 충돌하는 이 시간입니다.

이 명확히 희망.

을 실행할 때 실행을 통한 쉘에서 유닉스 기반의 운영체 시스템,시스템 경로 탐색되는 것이 처음이다.모두 보시려면 디렉토리에서 당신의 $PATH, 이 터미널에서 프롬프트

echo $PATH

레일을 실행에 존재하는 것입니다 하나의 열거된 디렉터리입니다.

편집 텍스트 아래는 완전히 잘못된 것입,나의 죄송

선택적으로,뿌리에서 당신의 레일이 디렉토리를 실행할 수 있습니다 실행 bin 디렉토리에 있습니다.이렇게 하려는 것을 보장하기 위해,당신은 로컬 실행지 중 하나에서 발견 $PATH, 이 필요'.'전의 명령입니다.그래서,

./bin/rails

bin/rails

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top