rake assets:precompile
을 실행하려고하면 레일스 앱이 이상한 오류가 발생합니다. 다음과 같이 보입니다.레이크 에셋을 실행할 때 문자 인코딩 오류가 발생했습니다.
rake aborted!
Invalid US-ASCII character "\xE2"
(in /Users/lee/Code/draper/app/assets/stylesheets/application.css.scss)
(sass):9
유효하지 않은 문자가 내 코드에 들어갔을 수 있습니다. 트위터 부트 스트랩 (boostrap-sass gem)을 사용하고 있는데 내 bootstrap_and_overrides.css.scss
파일이 범인 인 것 같습니다. 나는 이미 이상한 문자를 꺼내기 위해 텍스트 메이트의이 파일을 처음부터 다시 만들려고 시도했지만 작동하지 않았다. 내 bootstrap_and_overrides.css.scss
의 상단이 추가되어 작동하는 것 같다 유일한 것은 :
@charset "UTF-8";
나 레이크 자산 실행할 수 있습니다 : 사전 컴파일을하고 Heroku가에 배포,하지만 그건 해킹하고 더러운 수정처럼 보인다. 나는 Heroku에 다른 응용 프로그램을 배포 할 수 있습니다.이 응용 프로그램은 부트 스트랩을 훌륭하게 사용하며 Heroku는 배포시 사전 컴파일을 통해 레이크 (rake) 자산을 실행할 수 있습니다. 지금 당장이 문제를 해결할 수있는 유일한 방법은 @charset "UTF-8";
을 포함시킨 다음 Heoku에 배포하기 전에 로컬로 rake assets:precompile
을 실행하여 배포하는 동안 해당 단계를 건너 뛸 수 있도록하는 것입니다.
어디서 잘못되었는지 알 수 없습니다.
이것은 실제로 문제가되었습니다. 이것은 \ xE2가 큰 따옴표와 관련 될 수 있다는 것을 발견 한 첫 번째 장소입니다. 그 힌트는 내가 문제를 발견 할 수있게 해 주었고 모든 문제를 일으키는 것은 실제로 기울어 진 큰 따옴표였다. 제거한 후에는 @charset 선언을 제거 할 수 있었고 모든 것이 잘 수행되었습니다. 정말 고마워! –
'\ xe2'가 따옴표 인 경우 파일은 UTF-8조차 보이지 않습니다. – Esailija
재미있는 큰 따옴표를 검색하면 두통의 시간 후에 추가적인 두통의 시간을 절약 할 수 있었기 때문에 Upvoting. 광산은 rake db : migrate에서 오류가 발생했습니다. 고마워, 마크! –