ubuntu使用npm出现 Missing required argument #1问题
最近在Ubuntu上使用npm install 命令安装的时候,有时候能成功有时候就是报错:
error Linux 4.15.0-169-generic
error argv "/usr/bin/node" "/usr/bin/npm" "install" "socket.io"
error node v8.10.0
error npm v3.5.2
error code EMISSINGARG
error typeerror Error: Missing required argument #1
error typeerror at andLogAndFinish (/usr/share/npm/lib/fetch-package-metadata.js:31:3)
error typeerror at fetchPackageMetadata (/usr/share/npm/lib/fetch-package-metadata.js:51:22)
error typeerror at resolveWithNewModule (/usr/share/npm/lib/install/deps.js:456:12)
error typeerror at /usr/share/npm/lib/install/deps.js:190:5
error typeerror at /usr/share/npm/node_modules/slide/lib/async-map.js:52:35
error typeerror at Array.forEach (<anonymous>)
error typeerror at /usr/share/npm/node_modules/slide/lib/async-map.js:52:11
error typeerror at Array.forEach (<anonymous>)
error typeerror at asyncMap (/usr/share/npm/node_modules/slide/lib/async-map.js:51:8)
error typeerror at exports.loadRequestedDeps (/usr/share/npm/lib/install/deps.js:188:3)
error typeerror This is an error with npm itself. Please report this error at:
error typeerror <http://github.com/npm/npm/issues>
verbose exit [ 1, true ]
看错误描述是缺少参数,但是不应该有这个错,查了下大多数是建议换成国内的源cnpm
,也就是下列执行下列命令:
sudo npm install -g cnpm --registry=https://registry.npm.taobao.org
但是还是不想换,最后找到了解决方式,最终尝试有效,这里记录如下:
- 将nodejs更新到最新版本
sudo npm install -g n
执行后效果如下:
可以看到,没啥反应。
- 接着执行:
sudo n latest
执行后效果如下:
这里也是没啥 变化,只是打印版本
- 升级npm到最后的版本:
sudo npm install -g npm
这步执行完效果如下:
就如同划线所示,会下载很多的包,如果出现红框的部分代表升级成功,
- 执行下列命令
hash -d npm
- 试一下npm安装
npm i
终于安装成功,如图
这次安装过程记录这里。。同时分享给大家