ãã£ãããªã®ã§ãRails 5.1 ã®å¤ãããã¸ã§ã¯ãã§å®éã« Ruby 2.5 ãåãããã試ãã¦ã¿ãã
åã®å ´åã®å¯¾å¿ãªã®ã§ãåã ã®ããã¸ã§ã¯ãã§ã¯ç°ãªãã¨æãã¾ããããããªå¤ããã¼ã¸ã§ã³ä½¿ã以ä¸èªå·±è²¬ä»»ã ãèªå·±è²¬ä»»ï¼ ã¨ããæ°æã¡ã§åèæ å ±ã¨ãã¦è¦ã¦ãã ããã
ããã¾ã§ã®æµã
対å¿ãå¿ è¦ã ã£ããã³
- curb 0.9.4 ã使ã£ã¦ãã¦ãã«ã失æããã®ã§å¯¾å¿ãã
- 0.9.11 ã«ãã¼ã¸ã§ã³ã¢ãããã
- mysql2 ããã«ã失æããã®ã§å¯¾å¿ãã
- zstd ã®ãã¹ãéã«éãã
- ssl ã®ãã¹ãéã«éãã
以ä¸ã«è©³ç´°ãæ¸ãã¦ããã
curb 0.9.4 ã ã£ãã®ã§ 0.9.11 ã« bundle update curb ãã
å ã zipline 1.0.1 ã使ã£ã¦ãã¦ãä¾åæ§ã®è§£æ±ºã§ä»¥ä¸ã®ããã«ãªã£ã¦ããã
zipline (1.0.1) curb (>= 0.8.0, < 0.10)
zipline ã®å¯¾è±¡ãã¼ã¸ã§ã³ãããªãªã¼ã¹ææãä¾åæ§è§£æ±ºã«å¿ è¦ãããªãã³ãã 2018 å¹´ãããã®ãã®ã鏿ã㦠0.9.x ã®æçµçã鏿ããã¨ããã·ã¥ãã¨è§£æ±ºã§ããã®ã§ãªãã±ã¼ã
Gemfile ã®ãã¼ã¸ã§ã³ã¢ããæ¹æ³
ãã¼ã¸ã§ã³æå®ã®è¨å·ãããå¿ãããã ããªãã
mysql2
ld: library 'zstd' not found
zstd ã®ãã¹ããªãã£ãã®ã§ãéã«éãã https://zenn.dev/yukionodera/articles/how-to-fix-error-mysql2
export LIBRARY_PATH=$LIBRARY_PATH:$(brew --prefix zstd)/lib/
ld: library 'ssl' not found
mysql2 ãåç §ããã OpenSSL ã®ãã¹ãéã£ã¦ãªãï¼ ã£ã½ãã®ã§ããã Ruby ãä¾åãã v1 ç³»ãªã®ã MySQL ãä¾åãã v3 ç³»ãªã®ãï¼ ã¨ãããããããã£ã¦éã«éããã https://qiita.com/ffggss/items/2a6e965c8c3133a92eb9#%E8%A3%9C%E8%B6%B3
⯠brew --prefix openssl /opt/homebrew/opt/openssl@3 ⯠bundle config --global build.mysql2 --with-opt-dir="$(brew --prefix openssl)"
åããã®ã§å¤§ä¸å¤«ããã
mysql2 å ¬å¼ã® Readme
ä¸è¨ã®ã©ã£ã¡ã®ãã¹åé¡ã ãã©ãReadme ã«ã¯ä»¥ä¸ã®ããã«æ¸ãã¦ãã
https://github.com/brianmario/mysql2?tab=readme-ov-file#mac-os-x
[email protected]
ã使ã£ãã»ããããããã ãã©ã
Later versions of MacOS no longer distribute a linkable OpenSSL library. It is common to use Homebrew or MacPorts to install OpenSSL. Make sure that both the Ruby runtime and MySQL client libraries are compiled with the same OpenSSL family, 1.0 or 1.1 or 3.0, since only one can be loaded at runtime.
MacOS ã®æ°ãããã¼ã¸ã§ã³ã§ã¯ããªã³ã¯å¯è½ãª OpenSSL ã©ã¤ãã©ãªã¯é å¸ãããªããªãã¾ããã OpenSSL ãã¤ã³ã¹ãã¼ã«ããã«ã¯ãHomebrew ã¾ã㯠MacPorts ã使ç¨ããã®ãä¸è¬çã§ããå®è¡æã«ãã¼ãã§ããã®ã¯ 1 ã¤ã ãã§ãããããRuby ã©ã³ã¿ã¤ã 㨠MySQL ã¯ã©ã¤ã¢ã³ã ã©ã¤ãã©ãªã®ä¸¡æ¹ãåã OpenSSL ãã¡ã㪠(1.0ã1.1ãã¾ã㯠3.0) ã§ã³ã³ãã¤ã«ããã¦ãããã¨ã確èªãã¦ãã ããã
ã¨ã®ãã¨ã§ã Ruby 㨠MySQL ã¯åã OpenSSL ããªã³ã¯ãã¦ãåæã®æ¸ãæ¹ãªã®ã§ãä»å㯠Ruby 2.5 㨠MySQL 8.2 ã§åããã®ã§å½ã¦ã¯ã¾ããªãã®ã§ãåãã°æ£ç¾©ã®çè«ã§ããã
ã¯ã
ã¯ããããªããã
ã¨ã¯ããã¢ã¬ãªã®ã§ã追試ã¨ãã¦ä½¿ã£ã¦ãã mysql2 0.5.3 ãå·çæç¹ã§ææ°çã® 0.5.6 ã«ãã¦ã¿ãã
⯠cat Gemfile # ä¸å¿èæ ®ã¯ããã¦ãã # gem 'mysql2', '>= 0.3.18', '~> 0.5' # ã¡ãªã¿ã« Rails 㯠Gemfile.lock ãè¦ãã rails (5.1.7) ã ã£ãã®ã§æ®éã«ã¢ã¬ã ãã©ã¾ãåã対象ãã¼ã¸ã§ã³ã ã£ã ⯠bundle update mysql2 ... snip ... Fetching mysql2 0.5.6 (was 0.5.3) Installing mysql2 0.5.6 (was 0.5.3) with native extensions ... snip ... Bundle updated!
ä¸éãçµãã£ãã®ã§
åä½ç¢ºèªãå ¼ãã¦æåããéãã¾ãã
⯠rm -rf vendor/bundle ⯠bundle install --path vendor/bundle ... snip ... Bundle complete! 73 Gemfile dependencies, 191 gems now installed.
ã¨ãããã¨ã§ç¡äºæå¾ã¾ã§ bundle install ãå®è¡ã§ããä¸éå端ã«ãã¼ã¸ã§ã³ã¢ãããªã©ãã¦ããç°å¢ãç¡äºåãã¾ããã ãã£ããã¡ãã£ã¨ä¿å®ã楽ã«ãªããã
ãã¤ã¾ã§ãå¤ããã¼ã¸ã§ã³ä½¿ã£ã¦ããããã
ããã¯ä»°ãã¨ãããªã®ã§ãããå¾ã ã«ãã¦äºç®ã®é½åã¨ããã¨ã³ãã¦ã¼ã¶ã«è¦ããªãé¨åããè¦ããé¨åãåªå ããï¼ãã¨æ» è¶è¦è¶æããã¦ã使ã£ã¦ããã©ã¤ãã©ãª (UI ãæ©è½ã«å½±é¿ãããã³) ã®å·®ãæ¿ãã§å¤§è¦æ¨¡ã«å·¥æ°å¤ãã£ãããæ©è½ã使ãåæã夿´ããããã¿ãããªã®ãçºçããã®ã§å®æ½ã§ãã¦ããªããã§ãããã
ã¨ããç°å¢ã§ããã
åææ§ç¯ãã¦ãã人ãå ¨å¡ããªããªã£ã¦ãæ®ã£ãã®ã¯ spec ãå¿ ãè½ã¡ã (ããã¼ã®åæãã¼ã¿æå ¥ã¿ã¹ã¯ãããªã) ãã¼ã¸ã§ã³ã¢ãããã§ããªãç°å¢ãã¨ãªããã¡ããã¡ãè¾ãã®ã ãã©ãçµå±èª°ããããªãã®ã§å·»ãåãããããã¨ãªã£ãããã¦ããã®ã§æåã®ä¸æ©ã¨ãã¦ããã¢ã«åãç°å¢ãæ§ç¯ããªãããã®ã¯è¯ãã£ãã
ã¨ããè¨³ã§æå¾ã¯ã¡ãã£ã¨æç´ã£ã½ããªãã¾ããããå¤ãããã¸ã§ã¯ãã®ææ¦å¦çã¨ãã¾ããªããããã (ãã¦ãã) 人ãããã°ãã¾ãããï¼ æ°å¹´åº¦ãªã®ã§ä¸çºæ¯æ°ã¥ãã¨ããæ°æã¡ã§ããã