繁体   English   中英

无法在node.js上安装任何加密软件包

[英]Can't install any encryption packages on node.js

我正在Windows 10上通过Vagrant + Virtualbox运行Ubuntu 14.04.5。npm运行良好,安装任何模块都没有任何问题。 几天前,我尝试安装bcrypt,但过程失败。 我尝试了在stackoverflow线程上可以找到的所有解决方案,唯一可行的解​​决方案是使用yarn进行安装。 我不会介绍它,但是我更喜欢通过npm安装bcrypt。 然后我尝试安装bcryptjs,crypto-js和jsonwebtoken,都失败了! 因此,由于某些原因,通过npm安装时,所有与密码学相关的模块都会失败...我尝试将node和npm更新为最新版本,但是我无法安装任何东西。 回到npm v 5.7.1,让我回到以前的状态:除了加密相关模块之外,我可以安装所有东西。

我尝试安装bcrypt的错误:

688 verbose stack Error: ENOENT: no such file or directory, open '/vagrant    /node/test8/node_modules/bcrypt/node_modules/minipass/node_modules/yallist/package.json.1450451485'
694 error path /vagrant/node/test8/node_modules/bcrypt/node_modules/minipass/node_modules/yallist/package.json.1450451485
695 error code ENOENT
696 error errno -2
697 error syscall open
698 error enoent ENOENT: no such file or directory, open '/vagrant/node/test8/node_modules/bcrypt/node_modules/minipass/node_modules/yallist/package.json.1450451485'
699 error enoent This is related to npm not being able to find a file.

我尝试安装bcryptjs的错误:

354 warn rollback Rolling back bcryptjs@2.4.3 failed (this is probably harmless): ETXTBSY: text file is busy, unlink '/vagrant/node/test8/node_modules/bcryptjs/package.json.3007922196'
360 verbose stack Error: ETXTBSY: text file is busy, rename '/vagrant/node/test8/node_modules/bcryptjs/package.json.3007922196' -> '/vagrant/node/test8/node_modules/bcryptjs/package.json'
366 error path /vagrant/node/test8/node_modules/bcryptjs/package.json.3007922196
367 error code ETXTBSY
368 error errno -26
369 error syscall rename
370 error ETXTBSY: text file is busy, rename '/vagrant/node/test8/node_modules/bcryptjs/package.json.3007922196' -> '/vagrant/node/test8/node_modules/bcryptjs/package.json'

我尝试安装crypto-js的错误:

359 verbose stack Error: ETXTBSY: text file is busy, rename '/vagrant/node/test8/node_modules/crypto-js/package.json.3321474119' -> '/vagrant/node/test8/node_modules/crypto-js/package.json'
365 error path /vagrant/node/test8/node_modules/crypto-js/package.json.3321474119
366 error code ETXTBSY
367 error errno -26
368 error syscall rename
369 error ETXTBSY: text file is busy, rename '/vagrant/node/test8/node_modules/crypto-js/package.json.3321474119' -> '/vagrant/node/test8/node_modules/crypto-js/package.json'

我尝试安装jsonwebtoken的错误:

597 verbose stack Error: ETXTBSY: text file is busy, rename '/vagrant/node/test8/node_modules/jwa/package.json.1518470635' -> '/vagrant/node/test8/node_modules/jwa/package.json'
603 error path /vagrant/node/test8/node_modules/jwa/package.json.1518470635
604 error code ETXTBSY
605 error errno -26
606 error syscall rename
607 error ETXTBSY: text file is busy, rename '/vagrant/node/test8/node_modules/jwa/package.json.1518470635' -> '/vagrant/node/test8/node_modules/jwa/package.json'

知道是什么原因造成的吗?

在某些情况下,NPM无法找到文件。 请尝试以下操作,并让我知道:

  1. 运行命令vagrant halt来停止流浪汉
  2. 删除node_modules文件夹。
  3. 将NPM和Node更新到最新版本
  4. 运行npm cache clean --force
  5. 现在尝试安装
  6. 完成所有操作后,您可以通过运行vagrant up来启动vagrant,如果需要SSH,请在运行后运行以下命令vagrant ssh

有关类似问题的更多信息,请参见此处。

可能对您有用, https://stackoverflow.com/a/47091934/2520628

另外,某些模块需要不同版本的NPM, 请参见此处

所以我的猜测是您可能正在尝试安装不兼容的版本

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM