我在Windows 10上通过Vagrant + Virtualbox运行Ubuntu 14.04.5 .npm运行良好,我在安装任何模块时没有任何问题。几天前我尝试安装bcrypt但是进程失败了。我尝试了所有可以在stackoverflow线程上找到的解决方案,唯一有效的是使用yarn进行安装。我不会介入它,但我更喜欢通过npm安装bcrypt。然后我尝试安装bcryptjs,crypto-js和jsonwebtoken,都失败了!因此,由于某种原因,所有与加密相关的模块在通过npm安装时失败...我尝试将节点和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 [email protected] 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无法找到文件。请尝试以下操作并告知我们:
vagrant halt
以停止流浪者node_modules
文件夹。npm cache clean --force
vagrant up
来启动流浪者,如果你想要SSH,那么在运行之后运行这个命令,vagrant ssh
有关类似问题的更多信息可以看作here
可能对你有用,https://stackoverflow.com/a/47091934/2520628
另外在旁注中,一些模块需要不同版本的NPM,see here
所以我的猜测是你可能试图安装一个不兼容的版本