折腾:
【未解决】gitbook安装和使用插件autocover给生成的pdf文件加上封面
期间,去安装canvas:
1 2 3 4 5 | npm install -g canvas dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.64.dylib Referenced from: /usr/local/opt/node@8/bin/node Reason: image not found [1] 95770 abort npm install -g canvas |

试了多次,问题依旧。
难道是正在更新brew导致的?
好像不像啊
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.64.dylib node@8/bin/node
那还是等会,等
【未解决】Mac中brew install报错:Error homebrew-core is a shallow clone
彻底弄好后,再去:
1 2 | brew upgrade brew upgrade icu4c |
或:
1 2 | brew info icu4c brew switch icu4c 63.1 |
打算试试:
1 2 | brew uninstall node icu4c brew install node |
算了,不直接删除node。否则怕影响后续nodejs的版本和已安装插件的使用。
【已解决】Mac中brew install报错:Error homebrew-core is a shallow clone
然后继续:
1 2 3 4 5 | npm install -g canvas dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.64.dylib Referenced from: /usr/local/opt/node@8/bin/node Reason: image not found [1] 1986 abort npm install -g canvas |
问题依旧。
试试
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | brew upgrade Updating Homebrew... ==> Auto-updated Homebrew! Updated 1 tap (homebrew /cask ). ==> Updated Casks Updated 4 casks. ==> Upgrading 30 outdated packages: pyenv 1.2.14_1 -> 1.2.22 libimobiledevice HEAD-3d8d13f_6 -> HEAD-3d8d13f libtool 2.4.6_1 -> 2.4.6_2 wget 1.20.3_1 -> 1.21 mongodb /brew/mongodb-community 4.2.1 -> 4.4.3 libidn2 2.2.0_1 -> 2.3.0 libplist 2.1.0 -> 2.2.0 little-cms2 2.9 -> 2.11 cmake 3.16.2 -> 3.19.3 p7zip 16.02_2 -> 16.02_3 openjpeg 2.3.1 -> 2.4.0 zeromq 4.3.2 -> 4.3.4 lz4 1.9.2 -> 1.9.3 carthage 0.34.0 -> 0.36.1 libarchive 3.4.3 -> 3.5.1_1 tesseract 4.1.0 -> 4.1.1 webp 1.0.3 -> 1.1.0 lua 5.3.5_1 -> 5.4.2 ideviceinstaller 1.1.0_4 -> 1.1.1 libusbmuxd 2.0.1 -> 2.0.2 zstd 1.4.5 -> 1.4.8 leptonica 1.78.0_1 -> 1.80.0 cloc 1.84 -> 1.88 winetricks 20191224 -> 20201206 libomp 10.0.0 -> 11.0.1 libzip 1.6.1 -> 1.7.3 libusb 1.0.23 -> 1.0.24 rpm 4.15.1_1 -> 4.16.1.2 protobuf 3.11.2 -> 3.14.0 automake 1.16.1_1 -> 1.16.3 。。。 |
会更新很多库。
不过没icu4c
操作完毕了
再去:
1 | brew upgrade icu4c |
结果:
1 2 3 4 5 6 7 8 9 | brew upgrade icu4c Updating Homebrew... ==> Auto-updated Homebrew! Updated 1 tap (homebrew /cask ). ==> Updated Casks Updated 3 casks. Warning: icu4c 67.1 already installed |
再去试试:
npm install -g canvas
问题依旧。
1 | brew cleanup |
果然有:
1 2 3 4 | brew cleanup Removing: /usr/local/Cellar/icu4c/64 .2... (257 files, 69.2MB) Removing: /usr/local/Cellar/jpeg/9c ... (21 files, 733.4KB) Removing: /usr/local/Cellar/libtiff/4 .1.0... (247 files, 3.6MB) |
icu4c/64.2被清理掉了。
再去试试,问题依旧。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | brew info icu4c icu4c: stable 67.1 (bottled) [keg-only] C/C++ and Java libraries for Unicode and globalization http: //site.icu-project.org/home /usr/local/Cellar/icu4c/67.1 (258 files, 71MB) Poured from bottle on 2021-01-18 at 14:49:01 From: https: //github.com/Homebrew/homebrew-core/blob/HEAD/Formula/icu4c.rb License: ICU ==> Caveats icu4c is keg-only, which means it was not symlinked into /usr/local, because macOS provides libicucore.dylib (but nothing else ). If you need to have icu4c first in your PATH run: echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.zshrc echo 'export PATH="/usr/local/opt/icu4c/sbin:$PATH"' >> ~/.zshrc For compilers to find icu4c you may need to set: export LDFLAGS= "-L/usr/local/opt/icu4c/lib" export CPPFLAGS= "-I/usr/local/opt/icu4c/include" For pkg-config to find icu4c you may need to set: export PKG_CONFIG_PATH= "/usr/local/opt/icu4c/lib/pkgconfig" ==> Analytics install: 264,096 (30 days), 962,155 (90 days), 4,479,772 (365 days) install-on-request: 5,459 (30 days), 20,353 (90 days), 128,787 (365 days) build-error: 0 (30 days) |
和:
1 2 | brew switch icu4c 67.1 Error: Calling `brew switch` is disabled! Use `brew link` @-versioned formulae instead. |
然后:
1 2 | ● brew link icu4c-67.1 Error: No such keg: /usr/local/Cellar/icu4c-67 .1 |
去搜:
brew icu4c.rb
icu4c github
无法直接打开:
icu4c github Formula/icu4c.rb

1 2 3 4 | brew reinstall https: //raw .githubusercontent.com /Homebrew/homebrew-core/master/Formula/icu4c .rb Traceback (most recent call last): 'brew extract' or 'brew create' and 'brew tap-new' to create a formula file in a tap on GitHub instead.: Invalid usage: Non-checksummed download of icu4c formula file from an arbitrary URL is unsupported! (UsageError) 'brew extract' or 'brew create' and 'brew tap-new' to create a formula file in a tap on GitHub instead.: Invalid usage: Non-checksummed download of icu4c formula file from an arbitrary URL is unsupported! (UsageError) |
此处实在找不到,此处的
icu4c的67.1所对应的
算了,随便试试其旧版本:
1 | brew reinstall https: //raw .githubusercontent.com /Homebrew/homebrew-core/a806a621ed3722fb580a58000fb274a2f2d86a6d/Formula/icu4c .rb |
结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | brew reinstall https://raw.githubusercontent.com/Homebrew/homebrew-core/a806a621ed3722fb580a58000fb274a2f2d86a6d/Formula/icu4c.rb Traceback (most recent call last): 9: from /usr/local/Homebrew/Library/Homebrew/brew.rb:122:in `< main >' 8: from /usr/local/Homebrew/Library/Homebrew/cmd/reinstall.rb:84:in `reinstall' 7: from /usr/local/Homebrew/Library/Homebrew/cli/parser.rb:289:in `parse' 6: from /usr/local/Homebrew/Library/Homebrew/cli/parser.rb:564:in `formulae' 5: from /usr/local/Homebrew/Library/Homebrew/cli/parser.rb:564:in `map' 4: from /usr/local/Homebrew/Library/Homebrew/cli/parser.rb:568:in `block in formulae' 3: from /usr/local/Homebrew/Library/Homebrew/formulary.rb:351:in `factory' 2: from /usr/local/Homebrew/Library/Homebrew/formulary.rb:138:in `get_formula' 1: from /usr/local/Homebrew/Library/Homebrew/formulary.rb:142:in `klass' /usr/local/Homebrew/Library/Homebrew/formulary.rb:227:in `load_file': Invalid usage: Installation of icu4c from a GitHub commit URL is unsupported! 'brew extract icu4c' to stable tap on GitHub instead. (UsageError) 12: from /usr/local/Homebrew/Library/Homebrew/brew.rb:153:in `< main >' 11: from /usr/local/Homebrew/Library/Homebrew/brew.rb:155:in `rescue in < main >' 10: from /usr/local/Homebrew/Library/Homebrew/help.rb:64:in `help' 9: from /usr/local/Homebrew/Library/Homebrew/help.rb:83:in `command_help' 8: from /usr/local/Homebrew/Library/Homebrew/help.rb:103:in `parser_help' 7: from /usr/local/Homebrew/Library/Homebrew/cli/parser.rb:289:in `parse' 6: from /usr/local/Homebrew/Library/Homebrew/cli/parser.rb:564:in `formulae' 5: from /usr/local/Homebrew/Library/Homebrew/cli/parser.rb:564:in `map' 4: from /usr/local/Homebrew/Library/Homebrew/cli/parser.rb:568:in `block in formulae' 3: from /usr/local/Homebrew/Library/Homebrew/formulary.rb:351:in `factory' 2: from /usr/local/Homebrew/Library/Homebrew/formulary.rb:138:in `get_formula' 1: from /usr/local/Homebrew/Library/Homebrew/formulary.rb:142:in `klass' /usr/local/Homebrew/Library/Homebrew/formulary.rb:227:in `load_file': Invalid usage: Installation of icu4c from a GitHub commit URL is unsupported! 'brew extract icu4c' to stable tap on GitHub instead. (UsageError) |
算了,试试:
1 | brew upgrade node |
出错:
1 2 3 | brew upgrade node Updating Homebrew... Error: node not installed |
Referenced from: /usr/local/opt/node@8/bin/node
算了,去:
1 | brew install node |
问题依旧。
1 | npm version |
同样问题:
1 2 3 4 5 | npm version dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.64.dylib Referenced from: /usr/local/opt/node@8/bin/node Reason: image not found [1] 20163 abort npm version |
然后去:
1 | brew upgrade npm |
输出:
1 2 3 | brew upgrade npm Updating Homebrew... Warning: npm 15.6.0 already installed |
问题依旧。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | brew info icu4c icu4c: stable 67.1 (bottled) [keg-only] C/C++ and Java libraries for Unicode and globalization http: //site.icu-project.org/home /usr/local/Cellar/icu4c/67.1 (258 files, 71MB) 。。。 cd /usr/local/Cellar/icu4c/67.1 xxx@xxx /usr/local/Cellar/icu4c/67.1 ll total 248 -rw-r--r-- 1 xxx CORP\Domain Users 754B 1 18 14:49 INSTALL_RECEIPT.json -rw-r--r-- 1 xxx CORP\Domain Users 21K 4 23 2020 LICENSE drwxr-xr-x 13 xxx CORP\Domain Users 416B 1 18 14:49 bin drwxr-xr-x 3 xxx CORP\Domain Users 96B 4 23 2020 include drwxr-xr-x 28 xxx CORP\Domain Users 896B 4 23 2020 lib -rw-r--r-- 1 xxx CORP\Domain Users 622B 4 23 2020 license.html -rw-r--r-- 1 xxx CORP\Domain Users 88K 4 23 2020 readme.html drwxr-xr-x 8 xxx CORP\Domain Users 256B 4 23 2020 sbin drwxr-xr-x 4 xxx CORP\Domain Users 128B 4 23 2020 share xxx@xxx /usr/local/Cellar/icu4c/67.1 cp ./lib/libicui18n.64.dylib /usr/local/opt/icu4c/lib/ cp: ./lib/libicui18n.64.dylib: No such file or directory |
1 2 3 4 5 6 | ✘ xxx@xxx /usr/local/Cellar/icu4c/67 .1 brew uninstall --ignore-dependencies node icu4c Uninstalling /usr/local/Cellar/node/15 .6.0... (3,292 files, 55.8MB) Uninstalling /usr/local/Cellar/icu4c/67 .1... (258 files, 71MB) xxx@xxx /usr/local/Cellar/icu4c/67 .1 brew install node shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory Error: The current working directory doesn't exist, cannot proceed. |
退出目录再试
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | brew install node Updating Homebrew... ==> Downloading https: //homebrew .bintray.com /bottles/icu4c-67 .1.mojave.bottle. tar .gz Already downloaded: /Users/xxx/Library/Caches/Homebrew/downloads/16dcddb20c1b76530bab520d98c87e7564c1d4badeb3113548d362edd5097b62--icu4c-67 .1.mojave.bottle. tar .gz ==> Downloading https: //homebrew .bintray.com /bottles/node-15 .6.0.mojave.bottle. tar .gz Already downloaded: /Users/xxx/Library/Caches/Homebrew/downloads/7f9fa241f4e09eff5ffa2a5ffe69b6851a1eb6c3df71335550b30f9b37c9353b--node-15 .6.0.mojave.bottle. tar .gz ==> Installing dependencies for node: icu4c ==> Installing node dependency: icu4c ==> Pouring icu4c-67.1.mojave.bottle. tar .gz ==> Caveats icu4c is keg-only, which means it was not symlinked into /usr/local , because macOS provides libicucore.dylib (but nothing else ). If you need to have icu4c first in your PATH run: echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.zshrc echo 'export PATH="/usr/local/opt/icu4c/sbin:$PATH"' >> ~/.zshrc For compilers to find icu4c you may need to set : export LDFLAGS= "-L/usr/local/opt/icu4c/lib" export CPPFLAGS= "-I/usr/local/opt/icu4c/include" For pkg-config to find icu4c you may need to set : export PKG_CONFIG_PATH= "/usr/local/opt/icu4c/lib/pkgconfig" ==> Summary
/usr/local/Cellar/icu4c/67 .1: 258 files, 71MB ==> Installing node ==> Pouring node-15.6.0.mojave.bottle. tar .gz
/usr/local/Cellar/node/15 .6.0: 3,292 files, 55.8MB ==> No outdated dependents to upgrade! ==> Checking for dependents of upgraded formulae... ==> Reinstalling 1 broken dependent from source : node@8 ==> Searching for similarly named formulae... Error: No similarly named formulae found. Error: No available formula with the name "python@2" (dependency of node@8). ==> Searching for a previously deleted formula ( in the last month)... Error: No previously deleted formula found. ==> Searching taps on GitHub... Error: No formulae found in taps. |
可以看到期间有安装icu4c
问题依旧:
1 2 3 4 | npm install -g canvas dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.64.dylib Referenced from: /usr/local/opt/node@8/bin/node Reason: image not found [1] 22594 abort npm install -g canvas |
重启VSCode终端,问题依旧。
1 2 3 4 5 6 7 8 9 10 11 12 | brew uninstall --ignore-dependencies node@8 icu4c Uninstalling /usr/local/Cellar/node @8 /8 .17.0... (3,969 files, 48.4MB) Uninstalling /usr/local/Cellar/icu4c/67 .1... (258 files, 71MB) brew install node@8 Updating Homebrew... ==> Searching for similarly named formulae... Error: No similarly named formulae found. Error: No available formula or cask with the name "node@8" . ==> Searching for a previously deleted formula ( in the last month)... Error: No previously deleted formula found. ==> Searching taps on GitHub... Error: No formulae found in taps. |
问题依旧。
1 2 3 | brew upgrade node Updating Homebrew... Warning: node 15.6.0 already installed |
问题依旧。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | brew uninstall --force icu4c ls /usr/local/Cellar/icu4c ls : /usr/local/Cellar/icu4c : No such file or directory brew install icu4c Updating Homebrew... ==> Downloading https: //homebrew .bintray.com /bottles/icu4c-67 .1.mojave.bottle. tar .gz Already downloaded: /Users/xxx/Library/Caches/Homebrew/downloads/16dcddb20c1b76530bab520d98c87e7564c1d4badeb3113548d362edd5097b62--icu4c-67 .1.mojave.bottle. tar .gz ==> Pouring icu4c-67.1.mojave.bottle. tar .gz ==> Caveats icu4c is keg-only, which means it was not symlinked into /usr/local , because macOS provides libicucore.dylib (but nothing else ). If you need to have icu4c first in your PATH run: echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.zshrc echo 'export PATH="/usr/local/opt/icu4c/sbin:$PATH"' >> ~/.zshrc For compilers to find icu4c you may need to set : export LDFLAGS= "-L/usr/local/opt/icu4c/lib" export CPPFLAGS= "-I/usr/local/opt/icu4c/include" For pkg-config to find icu4c you may need to set : export PKG_CONFIG_PATH= "/usr/local/opt/icu4c/lib/pkgconfig" ==> Summary
/usr/local/Cellar/icu4c/67 .1: 258 files, 71MB ls /usr/local/Cellar/icu4c 67.1 brew reinstall npm ==> Downloading https: //homebrew .bintray.com /bottles/node-15 .6.0.mojave.bottle. tar .gz Already downloaded: /Users/xxx/Library/Caches/Homebrew/downloads/7f9fa241f4e09eff5ffa2a5ffe69b6851a1eb6c3df71335550b30f9b37c9353b--node-15 .6.0.mojave.bottle. tar .gz ==> Reinstalling node ==> Pouring node-15.6.0.mojave.bottle. tar .gz
/usr/local/Cellar/node/15 .6.0: 3,292 files, 55.8MB brew info npm node: stable 15.6.0 (bottled), HEAD Platform built on V8 to build network applications https: //nodejs .org/ /usr/local/Cellar/node/15 .6.0 (3,292 files, 55.8MB) * Poured from bottle on 2021-01-18 at 17:09:30 From: https: //github .com /Homebrew/homebrew-core/blob/HEAD/Formula/node .rb License: MIT ==> Dependencies Build: pkg-config Required: icu4c ==> Options --HEAD |
最后成功了:
1 2 | npm install -g canvas ⸨ ⸩ ⠙ reify:canvas: timing reifyNode:node_modules /canvas/node_modules/nan Completed in 235ms |

1 2 3 | npm install -g canvas added 72 packages in 38s |
即可。
【总结】
此处:
1 2 3 4 | npm install -g canvas dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n .64.dylib Referenced from: /usr/local/opt/node @8 /bin/node Reason: image not found |
原因:
npm(内部的node8)所依赖的icu4c,其版本(由于更新了别的而)有变动,导致报错。
解决办法:
重新安装npm:
1 | brew reinstall npm |
即可。
转载请注明:在路上 » 【已解决】Mac中npm install canvas报错:dyld Library not loaded icu4c libicui18n.64.dylib Referenced from node@8 node