如何更新 npm
Posted
技术标签:
【中文标题】如何更新 npm【英文标题】:How to update npm 【发布时间】:2014-06-17 02:31:54 【问题描述】:我正在尝试安装 mean.io 样板。运行sudo npm install -g meanio@latest
时失败。在失败之前它指出它'想要' npm 版本 1.4.x,而我安装了 1.2.18。所以我尝试将 npm 更新到最新版本;几种方式。最后一个是...
ubuntu@ip-xxx-xx-xx-xxx:~$ sudo npm install -g npm
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm@1.4.7 /usr/local/lib/node_modules/npm
ubuntu@ip-xxx-xx-xx-xxx:~$ npm --version
1.2.18
为什么我刚更新到 1.4.7 还是显示版本 1.2.18?
【问题讨论】:
做sudo npm update npm -g
如果您可以冒险使用不受支持的 PPA,请尝试 launchpad.net/~chris-lea/+archive/node.js
sudo npm install npm -g 帮了我
How can I update Node.js and npm to the next versions?的可能重复
这应该在Ask Ubuntu
【参考方案1】:
看起来您正在使用 Ubuntu(从您显示的命令行)。要更新 npm
和 nodejs
,您可以使用 PPA 存储库:
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs npm
【讨论】:
E: The repository 'http://ppa.launchpad.net/chris-lea/node.js/ubuntu bionic Release' does not have a Release file. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details.
用于 Ubuntu 18.04
Err:11 ppa.launchpad.net/chris-lea/node.js/ubuntu 未找到仿生版本 404 [IP: 91.189.95.83 80]
摆脱恼人的错误运行:rm /etc/apt/sources.list.d/cooperjona-ubuntu-nitrotasks-bionic.list【参考方案2】:
这将使用 npm 本身更新 npm:
sudo npm install npm -g
如果您遇到困难,请尝试sudo npm update npm -g
。所有功劳归功于 Tim Castelijns。我已经在 ubuntu 14.04、npm 1.3.10 上对其进行了测试
请注意,如果您使用nvm 来管理本地开发环境中的多个版本,例如出于测试目的,您安装的所有版本(由nvm ls
列出)都在 ~/.nvm 中,因此您只需省略系统范围的安装(即省略 sudo):
npm install npm -g
DEBIAN 企业版
对于完整的企业实践,请考虑 nodesource.com:
curl -sL https://deb.nodesource.com/setup | sudo bash -
如here所述。
其他企业
对于非 debian 发行版,请查看节点 github wiki
https://github.com/joyent/node/wiki/installing-node.js-via-package-manager 下载页面https://nodejs.org/en/download/
为了理解历史:Chis Lea 一直在维护他的 PPA,但现在 joined forces 使用 nodesource。
【讨论】:
我建议使用 PPA 存储库,以便让 ubuntu 包管理器与其他所有内容一起维护更新。 在生产服务器上,是的,也许。但是在 dev 上,你真的想保证你直接从 npm 包维护者那里获得东西,而不是 PPA 维护者 我不同意。您不希望 dev 与生产不同,否则您会遇到不同版本的部署问题。 再次根据您的偏执程度,相信 Chis Lea 的 PPA 可能会有问题。总是可以决定将项目中的关键依赖项作为本地副本卸载多少。如果你不是在银行工作,而是在做一个开源项目,你甚至可能不需要担心生产:) 我将在此处链接节点 wiki,仅列出所有替代方案。在代码分发方面,我个人不是 PPA 和 github 标签的大佬。 不需要使用 Chris 的 PPA。使用来自节点源的官方版本。【参考方案3】:如果 user3223763 的回答不起作用,你可以试试这个:
sudo apt-get remove nodejs ^node-* nodejs-*
sudo apt-get autoremove
sudo apt-get clean
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install nodejs
然后:
curl https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | sh
在此之后,打开一个新终端并检查 npm 版本:
npm --version
编辑/更新:
今天最后一个nvm版本是:
https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh
因此 CURL 命令是:v0.25.4 而不是 v0.13.1
curl https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh | sh
您可以检查https://github.com/creationix/nvm/releases以使用正确的版本进行进一步升级
【讨论】:
user3223763 对我不起作用,自我更新 npm 也不起作用。谢谢丹尼尔 我可以确认此方法有助于更新 npm。以前的方法具有未满足的库依赖关系,或者会更新 npm 但不会更新路径/环境以使用新位置。 这对我也有用,其他答案在 Ubuntu 14.0.4 上没有 这适用于我使用安装在带有 Crouton 的 Chromebook 上的 Ubuntu 14.04。我在网上找不到其他任何东西 安装 npm 需要 nvm 吗?【参考方案4】:升级到 nodejs v0.12.7
# Note the new setup script name for Node.js v0.12
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
# Then install with:
sudo apt-get install -y nodejs
Source from nodesource.com
【讨论】:
【参考方案5】:在 Ubuntu 14.04 上尝试了上述选项,但它们会不断产生此错误:
npm 错误! tar 包读取错误 /root/tmp/npm-15864/1465947804069-0.4854120113886893/package
然后在网上找到了这个解决方案:
1) 先清理npm的缓存:
sudo npm cache clean -f
2) 安装 npm 的 n 模块:
sudo npm install -g n
3) 选择要安装的节点版本开始安装:stable或latest,我们这里使用stable:
sudo n stable
4) 检查节点版本:
node -v
5) 检查 npm 的版本:
npm -v
【讨论】:
这个答案可以使用一些扩展来解释不太明显的命令在做什么。【参考方案6】:如果你想将 npm 更新到特定版本,你可以使用这个:
npm install npm@version-number
【讨论】:
【参考方案7】:要获得最新的稳定版本,只需运行
npm install npm@latest -g
对我来说效果很好!
【讨论】:
【参考方案8】:npm i -g npm
Update available 4.5.0 → 4.6.1 │
│ Run npm i -g npm to update
这是 npm 在终端时推荐的,第二块是直接从我的终端复制和粘贴的
注意:我使用的是 mac
【讨论】:
这个问题专门针对 ubuntu,而不是 osx。如果我在 ubuntu 中尝试了您的命令,npm
将失败并显示Error: Cannot find module 'process-nextick-args'
。你应该删除你的答案。【参考方案9】:
你可以试试:
sudo npm i -g npm
【讨论】:
【参考方案10】:检查你的节点版本node -v
和你的npm版本npm -v
然后要更新你的 npm,在你的终端中输入:
npm install npm@latest -g
希望我能帮上忙。问候
【讨论】:
【参考方案11】:这就是在 ubuntu 上对我有用的东西
curl -L https://www.npmjs.com/install.sh | sh
【讨论】:
【参考方案12】:检查你的节点版本 node -v 和你的 npm 版本 npm -v 然后更新你的 npm ,在您的终端中输入: sudo npm install npm@latest -g
注意:基于 Debian 的操作系统ubuntu 或 Linux mint
【讨论】:
【参考方案13】:nvm install-latest-npm
如果你碰巧使用nvm
【讨论】:
【参考方案14】:适用于 Ubuntu 18.04
npm install latest-version
我希望它也适合你
【讨论】:
【参考方案15】:不要忘记关闭并再次启动终端窗口;)
(至少如果你想在终端中检查“npm --version”)
sudo npm install npm -g
这对我也有用
【讨论】:
“关闭并再次启动终端”部分是我所缺少的。谢谢【参考方案16】:对我来说,它适用于以下命令
-
$curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
$apt 安装 nodejs
参考:https://linuxhint.com/how-to-update-npm-packages/
【讨论】:
【参考方案17】:NPM 在运行$ sudo npm install npm -g
后返回旧版本。
重新启动终端(即关闭并再次打开)为我解决了这个问题,$ npm --version
开始返回预期的版本。
* @Rimian 在另一个答案的评论中提到需要重新加载终端。
【讨论】:
【参考方案18】:你可以使用npm
包管理器:
npm install npm@latest
这会使用自己@最新版本安装npm
。
【讨论】:
【参考方案19】:sudo npm install npm@latest -g
这在 ubuntu 18.04 中对我有用
【讨论】:
【参考方案20】:很简单
适用于 Linux 或 Mac
sudo npm install npm@latest -g
对于 Windows:以管理员身份运行命令提示符并运行以下命令
npm install npm@latest -g
【讨论】:
以上是关于如何更新 npm的主要内容,如果未能解决你的问题,请参考以下文章