折腾:
【未解决】gitbook安装和使用插件autocover给生成的pdf文件加上封面
期间,去安装canvas:
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
彻底弄好后,再去:
brew upgrade brew upgrade icu4c
或:
brew info icu4c brew switch icu4c 63.1
打算试试:
brew uninstall node icu4c brew install node
算了,不直接删除node。否则怕影响后续nodejs的版本和已安装插件的使用。
【已解决】Mac中brew install报错:Error homebrew-core is a shallow clone
然后继续:
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
问题依旧。
试试
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
操作完毕了
再去:
brew upgrade icu4c
结果:
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
问题依旧。
brew cleanup
果然有:
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被清理掉了。
再去试试,问题依旧。
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)
和:
brew switch icu4c 67.1 Error: Calling `brew switch` is disabled! Use `brew link` @-versioned formulae instead.
然后:
● 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
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所对应的
算了,随便试试其旧版本:
brew reinstall https://raw.githubusercontent.com/Homebrew/homebrew-core/a806a621ed3722fb580a58000fb274a2f2d86a6d/Formula/icu4c.rb
结果:
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)
算了,试试:
brew upgrade node
出错:
brew upgrade node Updating Homebrew... Error: node not installed
Referenced from: /usr/local/opt/node@8/bin/node
算了,去:
brew install node
问题依旧。
npm version
同样问题:
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
然后去:
brew upgrade npm
输出:
brew upgrade npm Updating Homebrew... Warning: npm 15.6.0 already installed
问题依旧。
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
✘ 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.
退出目录再试
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
问题依旧:
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终端,问题依旧。
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.
问题依旧。
brew upgrade node Updating Homebrew... Warning: node 15.6.0 already installed
问题依旧。
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 ✔, [email protected] ✔ Required: icu4c ✔ ==> Options --HEAD
最后成功了:
npm install -g canvas ⸨ ⸩ ⠙ reify:canvas: timing reifyNode:node_modules/canvas/node_modules/nan Completed in 235ms
npm install -g canvas added 72 packages in 38s
即可。
【总结】
此处:
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:
brew reinstall npm
即可。
转载请注明:在路上 » 【已解决】Mac中npm install canvas报错:dyld Library not loaded icu4c libicui18n.64.dylib Referenced from node@8 node