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

问题描述

我正在尝试在新服务器上恢复古老的应用程序。此应用程序在流星 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 下载。正确的网址应该是: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预先下载文件并将其放在某个地方?

标签: node.jsmeteornode-modulesbcryptnode-gyp

解决方案


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


推荐阅读