“193:%1은(는) 유효한 Win32 애플리케이션이 아닙니다."라는 새로운 Rails 애플리케이션 버그가 있습니다.
문제
Windows 7에서 디렉터리로 이동하여 "rails newapp"을 입력하여 만든 새로운 Rails 응용 프로그램이 있습니다.생성은 잘 되었고, 루트 페이지에 접속하면 모든 것이 잘 됩니다.그러나 데이터베이스에 액세스하는 페이지에 액세스하려고 하면 다음과 같은 메시지가 나타납니다.
193: %1 is not a valid Win32 application.
개발자.로그에 있습니다.Mysql은 내 컴퓨터에서 잘 돌아가고 있고 여기 다른 디렉터리에서 실행 중인 다른 응용 프로그램이 있는데 이 응용 프로그램만 작동하지 않습니다.이견있는 사람?
해결책
다음은 저를 위해 일한 대답입니다. X64 vs. X32 Issue 및 Rails 2.3.2의 문제였습니다.
내가 여기서 얻은 대답 (http://osdir.com/ml/rubyonrailstalk/2009-06/msg01775.html):
MySQL 5.1.30 (x64) 및 Rails 2.3.2가 설치된 Windows XP X64 기계에서 많은 어려움을 겪은 후 다른 사람이 같은 문제가있는 경우 위의 제안이 도움이되었습니다. 여기에서 libmysql.dll을 다운로드하십시오 (http://instantrails.rubyforge.org/svn/trunk/instantrails-win/instantrails/mysql/bin/) 그리고 그것을 루비에 넣으면 문제가 해결되었습니다.
다른 팁
이 블로그의 지침을 따르면 문제가 해결됩니다. http://blog.mmediasys.com/2011/07/07/installing-mysql-on-windows-7-x64-and-using-ruby-with-it/
여기에는 MySQL 커넥터의 비설치 프로그램 버전 사용이 포함됩니다. http://dev.mysql.com/downloads/connector/c/
x64 Windows 7 시스템에서 webrick을 실행할 수 없습니다. 동일한 오류가 발생합니다.
"193:%1은(는) 유효한 Win32 응용 프로그램이 아닙니다.”
위의 게시물에서 제안한 대로 libmysql.dll 파일을 교체하면 다른 오류가 발생합니다.
"MySQL 클라이언트 라이브러리 버전이 잘못되었습니다!"
내 경로는 다음과 같이 설정됩니다.C: uby187\bin;C:\Program Files\MySQL\MySQL Server 5.5\bin;C: uby187\lib uby\gems\1.8\gems ails-3.1.1\bin
(경로를 다시 변경할 필요는 없습니다)
이 오류는 드라이브의 루트에 이름 "프로그램"이있는 파일이있는 경우 발생합니다. 예를 들어 "C : Program Files SomeApp bin someExe.exe"를 실행하려고합니다. 어떤 상황에서는이 이름이있는 파일이 "C : Program Files ..."를 인용하는 것을 잊어 버린 경우 일부 명령이 명령을 내립니다. 물론 이것은 D : 드라이브 등에도 적용됩니다.
이 오류는 종종 서비스를 시작하려고 시도하지만 다른 상황에서 발생할 수 있습니다.
파일 C : 프로그램 또는 D : 프로그램 등을 삭제하면 문제가 해결됩니다.
Windows X64에서 레일로 MySQL을 설정하는 여러 문제가 발생하면 내 권장 사항은 다음과 같습니다.
- 32 비트 버전의 MySQL을 설치하고 64 비트 버전을 사용하지 마십시오.
- 공간이없는 경로에 설치하고 "C : Program Files MySQL MySQL Server 5.5 "와 같은 기본값을 허용하지 마십시오.
- 다음과 유사한 호출로 MySQL 보석을 설치하십시오.
gem install mysql -- --platform=ruby --with-mysql-dir="D:\Programs\MySQL\MySQL-Server-5.5" --with-libmysqllib="D:\Programs\MySQL\MySQL-Server-5.5\lib\"
- 새 버전의 MySQL을 설치할 때마다 보석을 제거/다시 설치하십시오.
- d : programl mysql mysql-server-5.5 lib가 당신의 경로에 포함되어 있는지, d : program mysql mysql-server-5.5 bin을 확인하십시오. libmysql.dll의 다른 사본이 당신의 경로 나 루비 설치 디렉토리의 다른 곳에서 픽업되지 않도록하십시오.
이것은 MySQL-5.5.15-WIN32, MySQL-2.8.1-X86-MINGW32 및 Windows 7 X64와 함께 작동했습니다.
MySQL 설치 디렉토리에서 libmysql.dll 파일을 복사하여 Ruby Installation의 빈 디렉토리에 붙여 넣습니다. Zip Archive를 다운로드해야 할 수도 있습니다 http://dev.mysql.com/downloads/mysql/ MySQL 설치 디렉토리에 아직 libmysql.dll 파일이 포함되어 있지 않은 경우.
Windows 7에서 MySQL (5.5)과 함께 Ruby (1.8.7)를 사용하고 오류 193을 얻습니다.복사 libmysql.dll 루비 /빈에게는 저를 위해 잘 일했습니다.
C:\Work\redmine-2.4.1\config\database.yml content: # Default setup is given for MySQL with ruby1.9. If you're running Redmine # with MySQL and ruby1.8, replace the adapter name with `mysql`. # Examples for PostgreSQL, SQLite3 and SQL Server can be found at the end. # Line indentation must be 2 spaces (no tabs). production: adapter: mysql database: redmine host: localhost username: root password: "pwd@123" encoding: utf8