好吧,所以我一直在为一个名为discord的流行的类似Teamspeak的程序制作机器人。我在Ubuntu服务器上运行bot,并使用NPM安装来安装各种模块。
目前,该机器人的本地版本工作正常,但在Ubuntu上我似乎无法做“sudo npm install urban”(Urban是唯一一个我遇到问题的模块 - https://www.npmjs.com/package/urban)< / p>
我得到的错误是
npm ERR! Linux 4.2.0-27-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "urban"
npm ERR! node v5.6.0
npm ERR! npm v3.6.0
npm ERR! path /var/www/chatbot/node_modules/urban
npm ERR! code ENOTEMPTY
npm ERR! errno -39
npm ERR! syscall rename
npm ERR! ENOTEMPTY: directory not empty, rename '/var/www/chatbot/node_modules/urban' -> '/var/www/chatbot/node_modules/.urban.DELETE'
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! /var/www/chatbot/npm-debug.log
当我cd到node_modules文件夹并执行ls时,甚至没有我可以使用的城市文件夹。
我对编程比较陌生,所以如果我错过任何内容,我很抱歉,如果需要,我很乐意添加更多信息。先谢谢你们。
答案 0 :(得分:4)
不确定这是否相关,但我收到了同样的错误消息:
ENOTEMPTY,重命名&#39; /Users/name/Desktop/bot/node_modules/.request.DELETE'
我只是强制删除文件夹(node_modules / .request.DELETE /),然后运行npm install
,一切似乎都正常。
答案 1 :(得分:1)
这是因为.DELETE
文件夹中存在node_modules
扩展名的隐藏文件夹,请按照以下步骤操作,
Open Terminal (click Go > Utilities and double-click the Terminal app)
现在一次复制并粘贴下面列出的两行,并在每行后按Return键:
defaults write com.apple.finder AppleShowAllFiles YES
killall Finder
Mac现在将显示所有隐藏文件夹,删除带有.DELETE
扩展名的模块文件夹并尝试
npm install <packagename>
如果错误
,请使用sudo
sudo npm install <package>
那就是它。你应该可以安装。
答案 2 :(得分:0)
我在运行时遇到了问题
ng build --watch
但尝试
之后npm install
已修复!
答案 3 :(得分:0)
在我的情况下,节点进程正在锁定文件夹。我用过
lsof | grep DELETE
找出答案。所以我只是停止了运行该过程的webpack-dev-server
,然后继续
npm install
因此,请检查哪个进程正在锁定文件/文件夹,然后决定如何解决此问题
答案 4 :(得分:0)
我遇到了同样的问题。实际上,您的node_modules文件夹中有一个扩展名为.DELETE的文件或文件夹。
您可以强制删除扩展名为.DELETE的文件或文件夹。或者,如果您在本地计算机上工作,则可以通过删除node_modules
文件夹并按照以下命令重新安装软件包来解决问题:
npm install
答案 5 :(得分:0)
我只是删除了 node_modules
文件夹并再次运行了 npm install
;)