Gemfile을 찾을 수 없습니다


138

확실히 Ruby 개발자는 아니지만 Ruby, Gems 및 Bundler를 사용하는 서버에 응용 프로그램이 있습니다. 다른 사용자 계정으로 동일한 VPS에 다른 Ruby를 설치하려고합니다. 내가 도망 갈 때

bundle install

다음과 같은 오류가 발생합니다.

Gemfile을 찾을 수 없습니다

./bundle 디렉토리의 내용을 제거하여 모든 Gem을 다시 가져와 오류를 제거 할 수 있지만 동일한 Gems 및 Bundler를 사용하는 다른 응용 프로그램에 영향을 미치나요? 다른 앱을 중단시킬 위험이 없습니다.

답변:


162

Gemfile해당 명령을 실행하는 디렉토리 가 없습니다 . 현재 프로그램 Gemfilegem설정이 포함 된 파일 입니다.


2
감사. 이 간단한 것입니다. 명령을 실행하기 위해 관리자로 로그인해야했지만 gemfile이 다른 사용자의 디렉토리에 있었기 때문에 문제가 발생했습니다. 나는 그것을 분류 할 수있었습니다. 감사!
Ian

1
예, 맞습니다. redmine을 설치하기 위해이 명령을 사용하는 경우 'cd [redmine-directory]'를 실행 한 다음 해당 명령을 실행해야합니다.
Tim Wong

80

실행하기 전에 프로젝트 디렉토리에 있는지 확인하십시오 bundle install. 예를 들어, 실행 한 후 rails new myproject, 당신은 원하는 것입니다 cd myproject실행하기 전에 bundle install.


예, 이것은 실제로 문제였으며 결국 문제를 해결했습니다. 당신의 도움을 주셔서 감사합니다.
Ian

6

나는 같은 문제가 있었고 다른 디렉토리를 사용하여 해결했다.

bash-4.2 $ 번들 설치
Gemfile을 찾을 수 없습니다
bash-4.2 $ 암호
/home/amit/redmine/redmine-2.2.2-0/apps/redmine
bash-4.2 $ cd htdocs /
bash-4.2 $ ls
응용 프로그램 구성 DB 여분의 Gemfile 라이브러리 플러그인 Rakefile 스크립트 tmp
bin config.ru 문서 파일 Gemfile.lock 로그 공개 README.rdoc 테스트 공급 업체
bash-4.2 $ CD 플러그인 /
bash-4.2 $ 번들 설치
레이크 사용 (0.9.2.2) 
i18n (0.6.0) 사용 
multi_json (1.3.6) 사용 
활성 지원 사용 (3.2.11) 
빌더 사용 (3.0.0) 
활성 모델 사용 (3.2.11) 
루비 사용하기 (2.7.0) 
여정 사용 (1.0.4) 
랙 사용 (1.4.1) 
랙 캐시 사용 (1.2) 
랙 테스트 사용 (0.6.1) 
하이킹 사용 (1.2.1) 
틸트 사용 (1.3.3) 
스프로킷 사용 (2.2.1) 
액션 팩 사용 (3.2.11) 
MIME 유형 사용 (1.19) 
폴리 글롯 사용 (0.3.3) 
나무 꼭대기 사용하기 (1.4.10) 
메일 사용 (2.4.4) 
액션 메일러 사용 (3.2.11) 
arel 사용 (3.0.2) 
tzinfo 사용 (0.3.33) 
액티브 레코드 사용 (3.2.11) 
활성 리소스 사용 (3.2.11) 
코드 레이 (1.0.6) 사용 
랙 SSL 사용 (1.3.2) 
JSON 사용 (1.7.5) 
rdoc 사용 (3.12) 
thor (0.15.4) 사용 
레일 사용 (3.2.11) 
jquery 레일 사용 (2.0.3) 
mysql2 (0.3.11) 사용하기 
net-ldap (0.3.1) 사용 
루비-오픈 ID (2.1.8) 사용 
랙-개방형 사용 (1.3.1) 
번 들러 사용 (1.2.3) 
레일 사용 (3.2.11) 
rmagick (2.13.1) 사용 
당신의 번들 i

3

프로젝트 디렉토리를 백업 한 다음 프로젝트 디렉토리로 다시 CD와 번들 설치를하여 비슷한 문제를 해결했습니다.


1

여기 시도해 볼 수있는 것이 있습니다.

앱을 실행하는 데 사용하는 구성 파일에 추가하십시오.

ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
require 'bundler/setup' # Set up gems listed in the Gemfile.
Bundler.require(:default)

Rails 및 기타 랙 기반 앱은이 체계를 사용합니다. 때로는 Gemfile이 정상적으로 위치한 루트보다 더 깊은 디렉토리를 실행하려고 할 때가 있습니다. 물론 지금은이 문제를 해결했지만 가끔 Gemfile을 찾는 데 어려움을 겪습니다. 나는 때때로 당신이 .bundle 디렉토리에 모든 보석을 가질 수있는 것을 좋아합니다. 이 사이트 주소를 베개 아래에 두는 것이 결코 아프지 않습니다. http://bundler.io/


0

매우 간단합니다. 'Gemfile을 찾을 수 없습니다'라고 표시되면 현재있는 폴더 나 디렉토리에 GemFile이라는 파일이 없다는 의미입니다. 따라서 명령 프롬프트에서 "Gemfile"과 같은 파일 이름이있는 폴더의 명시 적 또는 전체 경로를 제공하십시오 (예 : cd C : \ Users \ Administrator \ Desktop \ RubyProject \ demo).

확실히 1 분 안에 해결 될 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.