首页 文章

如何使用nvm更改npm的版本?

提问于
浏览
158

我一直在使用NVM为我的节点工作安装最新版本的nodeJS . 它适用于安装单独的版本并在它们之间切换 . 它还在每个本地... / bin文件夹中安装最新版本的NPM以及节点二进制文件 . 但是,似乎没有任何方法可以切换我正在使用的NPM版本(或者至少我无法弄明白) .

我能想到的唯一解决方案是删除它默认的二进制文件(这是我第一次使用NVM安装节点时安装的NPM),并取代它放置最新的NPM二进制文件 . 但是,我想知道是否有更好的方法可以做到这一点 .

10 回答

  • 0

    在第一次提出这个问题三年之后,现在似乎答案简单得多了 . 只需更新nvm安装的版本,该版本位于 ~/.nvm/versions/node/[your-version]/lib/node_modules/npm 中 .

    我刚刚安装了节点4.2.2,它带有npm 2.14.7,但我想使用npm 3.所以我做了:

    cd ~/.nvm/versions/node/v4.2.2/lib
    npm install npm
    

    简单!

    是的,这应该适用于任何模块,而不仅仅是npm,您希望对特定版本的节点“全局” .


    编辑1:在最新版本中, npm -g 是智能的,并将模块安装到上面的路径而不是系统全局路径 .


    编辑2,另外两年和六个Node版本:如a newer answer中所述,现在有一个命令:

    nvm现在有一个更新npm的命令 . 这是nvm install-latest-npm或npm install --latest-npm .

    感谢 philraj 在评论中指出这一点 .

  • 16

    nvm不处理npm .

    因此,如果要安装节点0.4.x(许多软件包仍然依赖)并使用NPM,您仍然可以使用npm 1.0.x.

    安装节点0.6.x(随npm 1.1.x一起提供)并使用npm安装nvm:

    npm install nvm
    . ~/nvm/nvm.sh
    

    使用nvm安装节点0.4.x:

    nvm install v0.4.12
    nvm use v0.4.12
    

    使用install.sh安装npm(注意 -L param以遵循任何重定向):

    curl -L https://npmjs.org/install.sh | sh
    

    这将检测节点0.4.12并在〜/ nvm / v0.4.12 / lib / node_modules文件夹中安装npm 1.0.106并为nvm创建符号链接

    ~/nvm/v0.4.12/bin/npm -> ../lib/node_modules/npm/bin/npm-cli.js
    

    如果你试图运行npm,它仍然会出错,但是如果再次执行 nvm use v0.4.12 ,它现在应该可以运行了 .

  • 40

    在基于Linux的操作系统上更改npm版本并不是一个简单的命令过程 . 我已经完成了以下切换回旧版本的npm . 这应该可以使任何版本的npm工作 . 首先安装你想要使用的npm版本:

    sudo npm install -g npm@X.X.X
    

    删除/ usr / local / bin /中的sym链接

    sudo rm /usr/local/bin/npm
    

    使用您安装的所需版本的npm重新创建sym链接

    sudo ln -s /usr/bin/npm@X.X.X /usr/local/bin/npm
    
  • 3
    npm install npm@x.x.x -g
    npm install npm@5.4.0 -g
    
  • 15

    nvm现在有一个更新npm的命令 . 这是 nvm install-latest-npmnpm install --latest-npm .

  • 8

    通过查看www.npmjs.com/install.sh,我发现有一种方法可以通过设置环境变量来安装特定版本

    export npm_install="2.14.14"

    然后按照npmjs.com中的说明运行download-script:

    curl -L https://www.npmjs.com/install.sh | sh

    如果省略设置 npm_install 变量,那么它将安装标记为 latest 的版本

  • 237

    在Windows中,以管理员身份运行终端(如果存在权限问题) . 然后使用特定的节点版本(比如说7.8.0)

    nvm use 7.8.0
    

    然后将你的npm更新为所需的特定版本

    npm install -g npm@5.0.3
    
  • 15

    我在Windows上,我无法使用任何这些东西 . 我不断收到有关文件阻碍的错误 . 这虽然有效:

    cd %APPDATA%\nvm\v8.10.0           # or whatever version you're using
    mv npm npm-old
    mv npm.cmd npm-old.cmd
    cd node_modules\
    mv npm npm-old
    cd npm-old\bin
    node npm-cli.js i -g npm@latest
    

    繁荣,我回来了 .

  • 1

    上述说明略有不同,对我有用 . (MacOS Sierra 10.12.6)

    npm install -g npm@3.10.10
    rm /usr/local/bin/npm
    ln -s ~/.npm-packages/bin/npm /usr/local/bin/npm
    npm --version
    
  • 4

    npm i -g npm 怎么样?你也尝试过这个吗?

相关问题