当尝试在Node.js目录中升级lodash时,我遇到了以下错误:
错误1:
sudo npm install lodash@latest
npm WARN saveError ENOENT: no such file or directory, open '/usr/share/nodejs/package.json'
npm WARN enoent ENOENT: no such file or directory, open '/usr/share/nodejs/package.json'
npm WARN nodejs No description
npm WARN nodejs No repository field.
npm WARN nodejs No README data
npm WARN nodejs No license field.
+ [email protected]
updated 1 package and audited 1 package in 0.384s
found 0 vulnerabilities
错误2:
/usr/share/nodejs/lodash$ sudo npm install lodash@latest
npm ERR! code ENOSELF
npm ERR! Refusing to install package with name "lodash" under a package
npm ERR! also called "lodash". Did you name your project the same
npm ERR! as the dependency you're installing?
npm ERR!
npm ERR! For more information, see:
npm ERR! <https://docs.npmjs.com/cli/install#limitations-of-npms-install-algorithm>
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2023-03-20T03_12_36_652Z-debug.log
我还注意到,当我在其他目录中运行upgrade命令时,lodash安装在/home/ubuntu/node_modules/目录中。但是,我不确定是否需要更新/usr/share/nodejs目录中的lodash,因为当我使用npm list lodash时,它是唯一显示版本信息的目录。此外,我没有在node_modules目录中安装lodash,我不知道该怎么处理它。
此外,在nodejs目录下有许多与lodash相关的文件。这些文件的功能是什么,它们都与lodash有关吗?“
3条答案
按热度按时间hsgswve41#
我认为你在全球范围内安装了软件包。一次尝试:
npm update -g <package_name>
brvekthn2#
我的package.json文件和lodash版本
要更新lodash版本,只需使用命令
npm install lodash@<lodash_version>
例如:
npm install [[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection)
使用此命令后轻松更新lodash版本
roqulrg33#
这个问题涉及到Node.js包管理和lodash更新的一些复杂性。首先,让我解释一下我遇到的错误,并提供一些建议。
错误1:
发生此错误的原因是/usr/share/nodejs目录中没有package.json文件。npm需要有效的package.json文件来管理依赖项和配置。要解决此问题,您可以在该目录中创建一个简单的package.json文件,然后再次运行npm install lodash@latest命令。下面是一个package.json文件示例:
错误二:
此错误表示您正尝试在与lodash同名的软件包下安装lodash。这通常是由于有一个与lodash包同名的项目目录引起的。要解决此问题,您可以尝试以下操作:
1.您的项目目录:将项目目录重命名为与lodash包名称不同的名称,然后再次尝试运行npm install lodash@latest。
1.全球安装:如果你只想全局安装lodash,而不是在你的项目目录中,你可以使用-g标志进行全局安装,以避免与你的项目目录冲突。你可以这样做:
sudo npm install -g lodash@latest
关于node_modules目录,它是Node.js项目存储其依赖项的目录。它通常是自动创建和管理的,因此您不需要手动干预它。
至于nodejs目录下的lodash文件,这些文件可能是lodash包的一部分,也可能是其他与Node.js相关的文件。您可以使用npm list lodash命令来检查项目中lodash的当前安装状态。如果你只想在特定的项目中使用lodash,你可以在该项目目录中运行npm install lodash,而不是全局安装。