我正在尝试使用 NPM 安装软件包。例如,我试图通过通常的方式在 ubuntu 14.04 上安装 mongodb
Sudo npm install mongodb
我收到这个错误
npm ERR! tar.unpack untar error /home/cougs/.npm/mongodb/2.0.45/package.tgz
npm ERR! Linux 3.13.0-61-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "mongodb"
npm ERR! node v4.1.2
npm ERR! npm v2.14.4
npm ERR! path /mnt/nfs_data/byucougars.com/RebelFleet/app/node_modules/mongodb/package.json
npm ERR! code EINVAL
npm ERR! errno -22
npm ERR! syscall chown
npm ERR! EINVAL: invalid argument, chown '/mnt/nfs_data/byucougars.com/RebelFleet/app/node_modules/mongodb/package.json'
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
npm ERR! /mnt/nfs_data/byucougars.com/RebelFleet/app/npm-debug.log
我很确定这是我的用户的权限问题。可能当我通过 FTP 将内容复制到服务器时,它搞砸了。我只是不知道如何解决这个问题。
最佳答案
解决此问题的一种方法是通过 LD_PRELOAD 覆盖 chown() 以插入一个始终返回零(“成功”)的函数。所以而不是
#npm install
你会做的
#echo "int chown() { return 0; }" > preload.c && gcc -shared -o preload.so preload.c
#LD_PRELOAD=$PWD/preload.so npm install
关于mongodb - 尝试通过 npm 安装 mongodb 并收到 EINVAL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33022597/