我正在使用npm v5.3.0。现在我想将npm更新到v5.4.1。为此,我在终端中键入以下命令:npm install -g npm没有任何错误。但是,当我键入npm -v时,我得到的版本是5. 3. 0,而不是5. 4. 1我不得不提到我已经把npm前缀改成了另一个目录。有什么想法吗?我用的是Ubuntu 17. 04这是我的控制台输出:
npm install -g npm
npm -v
s3fp2yjn1#
我在Ubuntu 18.04 LTS上通过使用sudo su切换到root来解决这个问题,然后运行以下命令
sudo su
curl -L https://www.npmjs.com/install.sh | sh
mftmpeh82#
问题是我在~/.profile中设置了错误的PATH变量。为了帮助您理解,我将npm前缀更改为~/.npm-global但是我将path设置为~/npm-global,所以我修改了~/.profile中的PATH变量,使其指向~/.npm-global。
~/.profile
~/.npm-global
~/npm-global
ibps3vxo3#
请在最新(5.4.1)版本中尝试此操作:
npm install -g npm@latest
或任何特定版本,例如:
npm install -g npm@5.4.1
如果这样做没有帮助,请转到安装npm的位置并删除文件:npm和npm命令。
之后,请再次尝试npm install -g npm@5.4.1。
3okqufwl4#
我不得不挖掘更多(可能我有一些配置错误),并采取一种强硬的方法...首先,我运行which npm以获得正在运行的脚本,即/usr/local/opt/node@8/bin/npm.js。从该脚本中,我看到npm包实际上在/usr/local/opt/node@8/lib/node_modules/npm中。
which npm
/usr/local/opt/node@8/bin/npm.js
/usr/local/opt/node@8/lib/node_modules/npm
cd /usr/local/opt/node@8/lib/ npm i npm@6.11.2 # or your desired version rm package-lock.json # clean up
这就成功了,希望对别人有帮助:)NB:我不是说你应该马上做,如果你尝试其他方法,第一个是更好的,但如果其他方法不起作用给予它一个镜头
6vl6ewon5#
在我的例子(Ubuntu)中,唯一起作用的是reboot。之后
reboot
npm install npm@latest -g
的输出
npm --version
未更改(显示旧版本)。除非我做了reboot
rekjcdws6#
要升级,请运行:sudo npm install npm@latest -gnpm模块可从https://registry.npmjs.org/npm/-/npm- {VERSION}. tgz下载。
sudo npm install npm@latest -g
e5nszbig7#
我今天遇到了同样的错误。我更新了节点。由于npm与节点捆绑在一起,npm也被更新了,但是更新的npm版本没有反映。我也尝试使用命令npm install -g npm@latest更新npm版本。但是,版本没有反映。我就是这么解决的。1.很多帖子建议使用npm cache clean --f命令,但是,它对我不起作用。因此,我删除了位置C:\Users\SearchYourUserName\AppData\Roaming中的“npm”和“npm-cache”文件夹1.已再次卸载现有节点。1.重新安装节点版本v10.x.x。我从https://nodejs.org/dist/latest-v10.x/下载了node-v10.22.1-x64.msi文件并安装了它。然后检查了npm版本,它已经工作了。
5lhxktic8#
我通过在管理命令提示符中导航到C:/Users//AppData/Roaming,然后使用rd /s /q(删除)npm和npm缓存文件夹来解决这个问题。
8条答案
按热度按时间s3fp2yjn1#
我在Ubuntu 18.04 LTS上通过使用
sudo su
切换到root来解决这个问题,然后运行以下命令mftmpeh82#
问题是我在
~/.profile
中设置了错误的PATH变量。为了帮助您理解,我将npm前缀更改为~/.npm-global
但是我将path设置为
~/npm-global
,所以我修改了~/.profile中的PATH变量,使其指向~/.npm-global
。ibps3vxo3#
请在最新(5.4.1)版本中尝试此操作:
或任何特定版本,例如:
如果这样做没有帮助,请转到安装npm的位置并删除文件:npm和npm命令。
之后,请再次尝试
npm install -g npm@5.4.1
。3okqufwl4#
我不得不挖掘更多(可能我有一些配置错误),并采取一种强硬的方法...首先,我运行
which npm
以获得正在运行的脚本,即/usr/local/opt/node@8/bin/npm.js
。从该脚本中,我看到npm包实际上在/usr/local/opt/node@8/lib/node_modules/npm
中。这就成功了,希望对别人有帮助:)
NB:我不是说你应该马上做,如果你尝试其他方法,第一个是更好的,但如果其他方法不起作用给予它一个镜头
6vl6ewon5#
在我的例子(Ubuntu)中,唯一起作用的是
reboot
。之后
的输出
未更改(显示旧版本)。
除非我做了
reboot
rekjcdws6#
要升级,请运行:
sudo npm install npm@latest -g
npm模块可从https://registry.npmjs.org/npm/-/npm- {VERSION}. tgz下载。
e5nszbig7#
我今天遇到了同样的错误。我更新了节点。由于npm与节点捆绑在一起,npm也被更新了,但是更新的npm版本没有反映。我也尝试使用命令npm install -g npm@latest更新npm版本。但是,版本没有反映。
我就是这么解决的。
1.很多帖子建议使用npm cache clean --f命令,但是,它对我不起作用。因此,我删除了位置C:\Users\SearchYourUserName\AppData\Roaming中的“npm”和“npm-cache”文件夹
1.已再次卸载现有节点。
1.重新安装节点版本v10.x.x。我从https://nodejs.org/dist/latest-v10.x/下载了node-v10.22.1-x64.msi文件并安装了它。
然后检查了npm版本,它已经工作了。
5lhxktic8#
我通过在管理命令提示符中导航到C:/Users//AppData/Roaming,然后使用rd /s /q(删除)npm和npm缓存文件夹来解决这个问题。