为什么我无法安装特定版本的npm以及如何做到这一点?

时间:2018-01-28 07:51:47

标签: node.js linux ubuntu npm install

我的linux发行版是:

$ uname -a
Linux 16.04.2-Ubuntu

此外,我的npm版本是:

$ npm -v
3.5.2

我想通过此命令安装 npm 版本 3.10.10

$ sudo npm cache clean -f
$ sudo npm install npm@3.10.10

但我收到了这些错误:

npm WARN enoent ENOENT: no such file or directory, open '/home/arvin/package.json'
npm WARN myname No description
npm WARN myname No repository field.
npm WARN myname No README data
npm WARN myname No license field.

当使用与 nodejs 的安装版 6.12.2 相同的命令时:

$ sudo npm install nodejs@6.12.2

我收到了这些错误:

npm ERR! Linux 4.13.0-26-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "nodejs@6.12.2"
npm ERR! node v4.2.6
npm ERR! npm  v3.5.2
npm ERR! No compatible version found: nodejs@6.12.2
npm ERR! Valid install targets:
npm ERR! 0.0.0
npm ERR! 
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!     /home/arvin/npm-debug.log

最后,我决定通过以下命令完全删除npm' and nodejs`:

$ sudo apt-get purge --auto-remove nodejs
$ sudo apt autoremove
$ sudo rm -R ~/.npm
$ sudo rm /usr/local/bin/npm, /usr/local/share/man/man1/node, /usr/local/lib/dtrace/node.d, ~/.node-gyp, /opt/local/bin/node, opt/local/include/node, /opt/local/lib/node_modules
$ sudo npm uninstall npm

那么,如何在ubuntu 16.04中安装npm v3.10.10和nodejs v6.12.2?

1 个答案:

答案 0 :(得分:2)

如果要使用npm安装npm,则需要使用-g标志来表示应该全局安装软件包。如果在没有-g标志的情况下安装,它将尝试在本地目录中找到package.json文件。

sudo npm install -g npm@3.10.10 

顺便说一下,你不能用npm安装nodejs。要管理nodejs版本,您可以使用nvmn。我建议使用n