Я сталкивался с этим, и моя проблема заключалась в использовании более старой версии узла (5.X), когда требовалась версия> = 10.
Таким образом, решение может быть таким же простым, как обновление узла / npm. Вы можете легко сделать это , используя nvm , «Диспетчер версий узлов»
Установка NVM
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
Output
=> Close and reopen your terminal to start using nvm or run the following to use it now:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
Как видно из вышеприведенного вывода, вы должны либо закрыть и снова откройте терминал или выполните команды, чтобы добавить путь к сценарию nvm в текущий сеанс оболочки. Вы можете делать все, что вам проще.
После установки nvm
вы можете установить и использовать указанную c версию узла, просто выполнив следующую команду:
nvm install node <version>
Например:
$ nvm install node v10.16.3
$ node --version
v10.16.3
После обновления узла до версии> 10 вы можете установить bcrypt
$ npm install bcrypt