为什么我无法安装特定版本的 npm 以及如何安装?

Moj*_*vin 2 linux installation ubuntu node.js npm

我的 Linux 发行版是:

\n
uname -a\n\nLinux 16.04.2-Ubuntu\n
Run Code Online (Sandbox Code Playgroud)\n

另外,我的npm版本是:

\n
npm -v\n\n3.5.2\n
Run Code Online (Sandbox Code Playgroud)\n

我想通过以下命令安装npm 3.10.10版本:

\n
sudo npm cache clean -f\nsudo npm install npm@3.10.10\n
Run Code Online (Sandbox Code Playgroud)\n

但我收到这些错误:

\n
npm WARN enoent ENOENT: no such file or directory, open \'/home/arvin/package.json\'\nnpm WARN myname No description\nnpm WARN myname No repository field.\nnpm WARN myname No README data\nnpm WARN myname No license field.\n
Run Code Online (Sandbox Code Playgroud)\n

当对安装的Node.js版本6.12.2使用相同的命令时:

\n
sudo npm install nodejs@6.12.2\n
Run Code Online (Sandbox Code Playgroud)\n

我收到这些错误:

\n
npm ERR! Linux 4.13.0-26-generic\nnpm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "nodejs@6.12.2"\nnpm ERR! node v4.2.6\nnpm ERR! npm  v3.5.2\nnpm ERR! No compatible version found: nodejs@6.12.2\nnpm ERR! Valid install targets:\nnpm ERR! 0.0.0\nnpm ERR!\nnpm ERR!\nnpm ERR! If you need help, you may report this error at:\nnpm ERR!     <https://github.com/npm/npm/issues>\n\nnpm ERR! Please include the following file with any support request:\nnpm ERR!     /home/arvin/npm-debug.log\n
Run Code Online (Sandbox Code Playgroud)\n

最后,我决定通过以下命令完全删除“npm\”和 Node.js:

\n
sudo apt-get purge --auto-remove nodejs\nsudo apt autoremove\nsudo rm -R ~/.npm\nsudo 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\nsudo npm uninstall npm\n
Run Code Online (Sandbox Code Playgroud)\n

那么,如何在Ubuntu\xc2\xa016.04 (Xenial Xerus) 中安装 npm v3.10.10 和 Node.js v6.12.2 呢?

\n

Pub*_*oda 5

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

sudo npm install -g npm@3.10.10
Run Code Online (Sandbox Code Playgroud)

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