在Ubuntu安装npm包时出现错误

4

我有一个项目,之前一直正常运行,但突然出现了这个错误:- 这是使用create-react-app创建的react项目。 在npm installnpm -f install中都出现了相同的错误。

sudipt@sudo:~/Desktop/project/console-frontend$ npm -f install
npm WARN using --force I sure hope you know what you are doing.
npm WARN deprecated popper.js@1.16.1: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated fsevents@2.0.6: Please update: there are crash fixes
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm ERR! Linux 5.3.0-46-generic
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "-f" "install"
npm ERR! node v8.10.0
npm ERR! npm  v3.5.2
npm ERR! code EMISSINGARG

npm ERR! typeerror Error: Missing required argument #1
npm ERR! typeerror     at andLogAndFinish (/usr/share/npm/lib/fetch-package-metadata.js:31:3)
npm ERR! typeerror     at fetchPackageMetadata (/usr/share/npm/lib/fetch-package-metadata.js:51:22)
npm ERR! typeerror     at resolveWithNewModule (/usr/share/npm/lib/install/deps.js:456:12)
npm ERR! typeerror     at /usr/share/npm/lib/install/deps.js:457:7
npm ERR! typeerror     at /usr/share/npm/node_modules/iferr/index.js:13:50
npm ERR! typeerror     at /usr/share/npm/lib/fetch-package-metadata.js:37:12
npm ERR! typeerror     at addRequestedAndFinish (/usr/share/npm/lib/fetch-package-metadata.js:82:5)
npm ERR! typeerror     at returnAndAddMetadata (/usr/share/npm/lib/fetch-package-metadata.js:117:7)
npm ERR! typeerror     at pickVersionFromRegistryDocument (/usr/share/npm/lib/fetch-package-metadata.js:134:20)
npm ERR! typeerror     at /usr/share/npm/node_modules/iferr/index.js:13:50
npm ERR! typeerror This is an error with npm itself. Please report this error at:
npm ERR! typeerror     <http://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     /home/sudipt/Desktop/hydra-python-agent-gui/console-frontend/npm-debug.log

感谢您的帮助。

@ReuvenChacha 这个链接的答案在某种程度上是正确的!我必须更新npm,但它存储在usr/bin/local/npm中,所以需要运行一个额外的命令hash -r,然后它就可以正常工作了! - sudipt dabral
1个回答

8

首先,您应该更新您的软件包:

apt-get update
apt-get -y upgrade

然后,在您的项目目录中,删除先前安装的node_modules和package-lock:

例如:

rm -rf node_modules
rm package-lock.json

然后再次安装更新的软件包:

npm i

鉴于情境,我会建议如下,希望对你有所帮助!


非常感谢,这个有效。 - sudipt dabral
4
对我没有起作用。不知何故,使用apt进行升级后,即使执行了apt update,仍然只安装了旧版本。最终通过使用sudo npm i -g npm解决了问题。 - Phoenix
在你的步骤之后,它确实希望第一次“npm install”中有一个chown修复 - 但它会告诉你要运行什么 - 然后“npm intsall”最终开始工作 :) - jave.web
2
@Phoenix 我认为使用sudo运行npm不是一个好主意。你可以在谷歌上找到更多关于为什么应该避免这样做的信息。例如:(https://medium.com/@ExplosionPills/dont-use-sudo-with-npm-still-66e609f5f92)。我建议你检查一下你安装node和npm的方式,可能你也是用sudo安装的,这就是为什么现在无法在没有sudo的情况下初始化项目的原因。 - JGuarate

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接