bcrypt@2.0.1 尝试从错误的 url 下载结果 404。如何解决?

bcrypt@2.0.1 trying to download from wrong url results 404. How to fix?

我正在尝试在新服务器上恢复古老的应用程序。此应用程序在 meteor 1.5.1 和 nodejs 4.8.4 上运行。 在 package.json 我有 "bcrypt": "^2.0.1", 条目。当我尝试通过 运行 meteor npm install --save 安装软件包时,它试图从错误的 URL 下载 bcrypt,结果是 404。下面是错误输出..

# meteor npm install --save

> bcrypt@2.0.1 install /my-app/node_modules/bcrypt
> node-pre-gyp install --fallback-to-build

node-pre-gyp ERR! Tried to download(404): https://github.com/kelektiv/node.bcrypt.js/releases/download/v2.0.1/bcrypt_lib-v2.0.1-node-v72-linux-x64-glibc.tar.gz 
node-pre-gyp ERR! Pre-built binaries not found for bcrypt@2.0.1 and node@12.18.4 (node-v72 ABI, glibc) (falling back to source compile with node-gyp) 
make: Entering directory '/my-app/node_modules/bcrypt/build

正如您从输出中看到的,它正在尝试从不存在的(错误的)下载 url。正确的 url 应该是:https://github.com/kelektiv/node.bcrypt.js/releases/download/v2.0.1/bcrypt_lib-v2.0.1-node-v46-linux-x64-glibc.tar.gz 因为nodejs 4.8.4的模块版本是v46。我不确定为什么它首先要尝试为 node@12.18.4 下载。

问题是回退构建甚至没有编译。到处都是 C++ 错误。我假设如果我能以某种方式修复预构建的二进制问题,我就可以避免回退构建问题?我怎样才能指出它来更正 url 或者至少可以预先下载 tar.gz 文件并将其放在某个地方?

我终于找到答案了!我作为不同于预期的用户使用 运行 meteor npm install --save 命令。结果 meteor npm install --save 命令在该用户的 PATH 中下载了全新的 nodejs 版本并尝试安装软件包。在正确的用户环境中通过 运行 meteor npm install --save 命令解决了问题。