⛓️
[m3 mac] Symbol CLI を npm で global install するまで
In summary
環境変数で C++20 を宣言してグローバルインストールしたら通った
export CXXFLAGS="-std=c++20"
Environments
- macbook pro m3
- node v23.6.1
- npm v11.0.0
Docs
Errors
npm install -g symbol-cli
npm error code 1
npm error command failed
npm error command sh -c node-gyp-build
npm error CC(target) Release/obj.target/libusb/libusb/libusb/core.o
npm error CC(target) Release/obj.target/libusb/libusb/libusb/descriptor.o
npm error CC(target) Release/obj.target/libusb/libusb/libusb/hotplug.o
npm error CC(target) Release/obj.target/libusb/libusb/libusb/io.o
npm error CC(target) Release/obj.target/libusb/libusb/libusb/strerror.o
npm error CC(target) Release/obj.target/libusb/libusb/libusb/sync.o
npm error CC(target) Release/obj.target/libusb/libusb/libusb/os/poll_posix.o
npm error CC(target) Release/obj.target/libusb/libusb/libusb/os/threads_posix.o
npm error CC(target) Release/obj.target/libusb/libusb/libusb/os/darwin_usb.o
npm error LIBTOOL-STATIC Release/usb.a
npm error CXX(target) Release/obj.target/usb_bindings/src/node_usb.o
npm error gyp info it worked if it ends with ok
npm error gyp info using node-gyp@11.0.0
npm error gyp info using node@23.6.1 | darwin | arm64
...
npm error /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/enable_if.h:31:16: note: template parameter is declared here
npm error 31 | template <bool _Bp, class _Tp = void>
npm error | ^
npm error fatal error: too many errors emitted, stopping now [-ferror-limit=]
npm error 61 warnings and 20 errors generated.
npm error make: *** [Release/obj.target/usb_bindings/src/node_usb.o] Error 1
npm error gyp ERR! build error
npm error gyp ERR! stack Error: `make` failed with exit code: 2
インストール時のネイティブコンパイルでエラー吐いてるっぽかったので、ChatGPTに聞きつつ C++ のバージョンを指定してインストール
export CXXFLAGS="-std=c++20"
npm install -g symbol-cli
SUCCEED ✅️
symbol-cli -v
Symbol CLI v1.0.1
USAGE
symbol-cli <subcommand>
SUBCOMMANDS
account - Get account related information
block - Get block related information
chain - Get chain related information
converter - Convert between data types
metadata - Get metadata related information
monitor - Monitor blocks, transactions and errors
mosaic - Get mosaic related information
namespace - Get namespace related information
node - Get node related information
profile - Manage profiles
restriction - Get restrictions related information
transaction - Announce transactions
めでたしめでたし
Discussion