ENOTEMPTY:目录不为空,重命名''->``(JavaScript + NPM + Ubuntu服务器)

5 javascript ubuntu node.js npm

好吧,所以我一直在为流行的类似Teamspeak的程序Discord制作一个机器人。我正在Ubuntu服务器上运行该机器人,并使用NPM install安装各种模块。

目前,机器人的本地版本工作正常,但在Ubuntu上我似乎无法执行“sudo故宫安装城市”(城市是唯一由模块我有问题- https://www.npmjs.com/包装/城市

我得到的错误是

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
Run Code Online (Sandbox Code Playgroud)

当我CD到node_modules文件夹并执行ls时,甚至没有我可以使用的市区文件夹。

我是编程的新手,所以很抱歉,如果我错过了任何事情,我将很乐意在需要时添加更多信息。预先谢谢大家。

Ste*_*ane 60

我只是删除了该node_modules文件夹并npm install再次运行;)

  • “没有人,没有问题”——斯大林) (11认同)
  • 如果你使用了 `-g` 那么你就不能这样做 (2认同)

小智 13

您可以用来npm ci执行全新安装。

在内部,它将清除 node_modules 并再次安装所有包。但它比npm install您已经拥有的要快package.lock.json

根据文档

npm ci will be significantly faster when:

There is a package-lock.json or npm-shrinkwrap.json file.
The node_modules folder is missing or empty.
Run Code Online (Sandbox Code Playgroud)


cha*_*ian 7

我收到了同样的错误信息:

ENOTEMPTY,重命名'/Users/name/Desktop/bot/node_modules/.request.DELETE'

我刚刚删除了文件夹 (node_modules/.request.DELETE/) 然后运行npm install,一切似乎都正常工作。


Ign*_*rew 4

这是因为您的文件夹中存在一个带有.DELETE扩展名的隐藏文件夹node_modules,只需按照以下步骤操作,

Open Terminal (click Go > Utilities and double-click the Terminal app)
Run Code Online (Sandbox Code Playgroud)

现在将下面列出的两行复制并一次粘贴到终端中,然后在每行后按 Return 键:

defaults write com.apple.finder AppleShowAllFiles YES

killall Finder
Run Code Online (Sandbox Code Playgroud)

Mac 现在将显示所有隐藏文件夹,删除带有.DELETE扩展名的模块文件夹并尝试

npm install <packagename>
Run Code Online (Sandbox Code Playgroud)

sudo如果出现错误则使用

sudo npm install <package>
Run Code Online (Sandbox Code Playgroud)

就是这样。您应该能够安装。