문제

내가 만든 새로운 응용 프로그램을 사용하여 Ruby on Rails v4.1.0.면 서버를 시작하려고 하면 또는 윈도우즈에서 콘솔,내가 발생 다음과 같은 오류가:

$ rails server
Booting WEBrick
Rails 4.1.0 application starting in development on ....

Exiting
c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/tzinfo-1.1.0/lib/tzinfo/data_source.rb:199:
in `rescue in create_default_data_source': 
No timezone data source could be found. To resolve this, either install 
TZInfo::Data (e.g. by running `gem install tzinfo-data`) or specify a zoneinfo 
directory using `TZInfo::DataSource.set(:zoneinfo, zoneinfo_path)`.
(TZInfo::DataSourceNotFound) 
from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/tzinfo-1.1.0/lib/tzinfo/data_source.rb:196:
in `create_default_data_source'

어떻게 해결할 수 있습니 이는 오류?

도움이 되었습니까?

해결책

해결류

이 오류를 해결하려면,당신은 필요가 있는지 확인 tzinfo-데이터 보석이 포함되어에 Gemfile.

먼저,확인 Gemfile 을 볼 수 있는 경우에는 기존의 참조 tzinfo-data.이 없는 경우에는 이미 대한 참조 다음,다음 줄을 추가합니다:

gem 'tzinfo-data'

당신이 있다는 것을 알 수 있습니다 이미 다음과 같은 줄을 다음과 같다:

gem 'tzinfo-data', platforms: [:mingw, :mswin]

를 사용하는 경우에는 64 비트 버전의 루비,윈도우에서 다음에 추가 :x64_mingw 목록에 플랫폼 다음과 같다:

gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw]

또한,제거할 수 있습니다 platforms 옵션니다.

이렇게 한 후,실행 bundle update 명령행에서 설치 tzinfo-데이터 보석하고 당신은 다음을 시작할 수 있 레일 서버는 콘솔입니다.


배경

TZInfo::DataSourceNotFound 오류에 의해 제기되고 TZInfo,종속성의 적극적인 지원의 구성 요소입니다.TZInfo 는 소스를 찾을 시간대에 데이터의 시스템지만,실패를 찾아 하나입니다.

에 많은 유닉스 기반 시스템(예:Linux),TZInfo 할 수 있는 시스템을 사용하는 zoneinfo 디렉토리의 원천으로 데이터입니다.그러나,Windows 포함되지 않은 같은 디렉토리,그래서 tzinfo-데이터 보석을 설치해야 한다.이 tzinfo-데이터 보석함 같은 zoneinfo 데이터,패키지 집합으로 루비의 모듈을 사용합니다.

레일을 생성하는 기본값 Gemfile 할 때 응용 프로그램을 처음 만들어집니다.는 경우 응용 프로그램을 만들어 윈도우에서,그 종속성을 위해 tzinfo-데이터 포함됩니다.그러나는(레일 버전 4.1.0),이를 생략 :x64_mingw 목록에서의 플랫폼에서 정상적으로 작동하지 않으면에 64-비트 윈도우 버전의 루비.이 해야정 미래에 있는 레일을 출시하였습니다.

다른 팁

서버를 시작하기 위해 두 개의 보석을 추가해야했습니다.

보석 'Tzinfo-data'
보석 'Tzinfo'

다음 번들 설치.

이를 앱 터미널에 넣으십시오.

gem install tzinfo-data
.

다음 GEMFILE 라인을 다음과 같이 변경하십시오.

gem 'tzinfo-data', platforms: [:x64_mingw, :mingw, :mswin]
.

다음 다시 터미널에서 :

bundle update
.

문제를 직접 해결할 수 있습니다.

보석 파일에 다음 행을 추가

보석 'Tzinfo-data', 플랫폼 : [: x64_mingw, : mingw, mswin]

Docker 컨테이너에 Redmine을 설치하려고 할 때 오류가 발생했습니다.

RAILS_ENV=production bundle exec rake db:migrate
.

패키지 tzdata가 내 우분투 이미지에 설치되지 않았기 때문에 오류가 발생했습니다.

apt-get update && apt-get install tzdata -y
.

트릭을 했어.

시스템에 Tzinfo가 설치되어 있지 않아 설치하려고 시도하십시오.

 gem install tzinfo
 gem install tzinfo-data
.

나는 이 문제는 너무 그리고 수정을 추가하여 모두 :x64_mingw 목록을 위한 플랫폼 tzinfo-data, 보석'tzinfo'하도록 gemfile 을.다음 번들 설치합니다.

내가 달렸으로 이 문제에 macOs 비 10.14.5 고 나가는 것을 발견했다가 함께 어떻게 나 심볼릭 링크에서 macOs 지 않을 읽고 올바른 제공하는 영역 정보 파일이 있습니다.

할 수 있었을 추적하는 이와 함께 아래로 파일을 사용해야 하는 명령 TZInfo::ZoneinfoDataSource.search_path 고서 제공하는 것 출력 ["/usr/share/zoneinfo", "/usr/share/lib/zoneinfo", "/etc/zoneinfo"].

기 시작했으로 보고 /usr/share/zoneinfo 가 있었 파일을 읽을 수 있습니다.그러나 레일을 여행지들을 찾는 것,독서,그들을 실행하는 그들이..?그래서 나는 그를 만든 심볼릭 링크에서 다른 파일에 /usr/share/zoneinfo.default/ 하기 /etc/zoneinfo (이 마지막 경로 TZInfo 모)

그래서 마지막으로 명령하는 일을 나를 위해 이 문제를 해결하였 ln -s /usr/share/zoneinfo.default /etc/zoneinfo

이 정보는 것이 도움이에서 누군가에게 미래입니다.

그래서 보석은 제대로 설치하는 것처럼 보이지 않았습니다. 다음을 수행해야했습니다

gem 'tzinfo-data' 보석 'Tzinfo'

그런 다음

번들 쇼 모든 보석보기

를 보려면

번들 gem tzinfo. 보석의 디렉토리를 얻을 수 있습니다

그런 다음 해당 디렉토리로 이동하십시오.Tzinfo 데이터를 Tzinfo로 연결해야합니다. Tzinfo 데이터 파일에서, .. local_pathname / tzinfo-data-1.2014.5 / lib / tzinfo 이 디렉토리의 모든 내용을 ... local_pathname / tzinfo-1.2.1 / lib / tzinfo. (이를 위해 이는 '데이터'파일과 '데이터'디렉토리를 복사하는 것을 의미합니다)

그런데 이동 local_pathname / tzinfo-1.2.1 / lib. 파일, Tzinfo (디렉토리가 아님)를 엽니 다. 이 줄을 추가하십시오 'tzinfo / data'

가 필요합니다.

이것은

를 파악하는 것과 같은 고통이었습니다.

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