Node.js msnodesqlv8模块未安装在macOS ARM64中

Node.js msnodesqlv8模块未安装在macOS ARM64中,node.js,npm,odbc,homebrew,Node.js,Npm,Odbc,Homebrew,我正在使用macOS 11.3.1 ARM64,并尝试在node.js项目中使用npm安装msnodesqlv8。我已经在/opt/homebrew/bin/brew中安装了我的自制软件,并且我已经使用以下命令与brew一起安装了SQLServer的ODBC驱动程序: brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release brew update HOMEBREW_NO_ENV_FI

我正在使用macOS 11.3.1 ARM64,并尝试在node.js项目中使用npm安装
msnodesqlv8
。我已经在
/opt/homebrew/bin/brew
中安装了我的自制软件,并且我已经使用以下命令与brew一起安装了SQLServer的ODBC驱动程序:

brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
HOMEBREW_NO_ENV_FILTERING=1 ACCEPT_EULA=Y brew install msodbcsql17 mssql-tools
我还安装了
unixodbc

似乎它没有指向我的
/opt/homebrew/lib
库未加载:/usr/local/opt/msodbcsql17/lib/libmsodbcsql.17.dylib
) 还有一个与
sqltypes.h
文件相关的问题。我做了很多研究,但都没有解决我的问题

这是输出:

prebuild-install WARN install dlopen(/Users/fdg/project/node_modules/msnodesqlv8/build/Release/sqlserverv8.node, 1): Library not loaded: /usr/local/opt/msodbcsql17/lib/libmsodbcsql.17.dylib
prebuild-install WARN install   Referenced from: /Users/fdg/project/node_modules/msnodesqlv8/build/Release/sqlserverv8.node
prebuild-install WARN install   Reason: image not found
  CXX(target) Release/obj.target/sqlserverv8/src/ConnectionHandles.o
In file included from ../src/ConnectionHandles.cpp:1:
In file included from ../src/ConnectionHandles.h:22:
../src/stdafx.h:37:14: fatal error: 'sqltypes.h' file not found
    #include <sqltypes.h>
             ^~~~~~~~~~~~
1 error generated.
make: *** [Release/obj.target/sqlserverv8/src/ConnectionHandles.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
gyp ERR! System Darwin 20.4.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/fdg/project/node_modules/msnodesqlv8
gyp ERR! node -v v14.16.1
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok 
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! msnodesqlv8@2.1.0 install: `prebuild-install || node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the msnodesqlv8@2.1.0 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
编辑:此外,我还尝试创建指向自制库的符号链接。运行sqlcmd命令时,它会显示:

dyld: Library not loaded: /usr/local/lib/libodbc.2.dylib
  Referenced from: /opt/homebrew/bin/sqlcmd
  Reason: no suitable image found.  Did find:
    /opt/homebrew/lib/libodbc.2.dylib: mach-o, **but wrong architecture**
    /opt/homebrew/Cellar/unixodbc/2.3.9_1/lib/libodbc.2.dylib: mach-o, but wrong architecture
M1架构似乎还不支持它(?)。有什么解决办法吗

如果需要任何额外的信息来帮助我解决问题,请告诉我


提前感谢

我解决了使用Rosetta for x86_64体系结构下的终端在
/usr/local
下创建第二个brew环境的问题。我重新安装了
mssql工具
msodbcsql17
软件包,现在用npm重新安装
msnodesqlv8
模块,成功

我们将等待Microsoft支持ARM64的ODBC驱动程序

dyld: Library not loaded: /usr/local/lib/libodbc.2.dylib
  Referenced from: /opt/homebrew/bin/sqlcmd
  Reason: no suitable image found.  Did find:
    /opt/homebrew/lib/libodbc.2.dylib: mach-o, **but wrong architecture**
    /opt/homebrew/Cellar/unixodbc/2.3.9_1/lib/libodbc.2.dylib: mach-o, but wrong architecture