install a previous version of a package
我使用nvm下载节点v0.4.10,并安装了npm来使用该版本的节点。
我正在尝试使用安装Express
我得到一个错误,express要求节点版本大于等于0.5.0。
好吧,这很奇怪,因为这里我遵循的是使用节点v0.4.10的node+express+mongodb教程,所以我假设express对节点v0.4.10可用。如果我的假设是正确的,我如何告诉NPM获取一个可以与我的设置一起使用的版本?
- 为什么不更新节点版本呢?很肯定,应该有更多的好的补充,而不是你会发现的坏的行为。
如果必须安装较旧版本的包,只需指定它
1
| npm install <package>@<version> |
例如:npm install [email protected]。
您还可以将--save标志添加到该命令中,以将其添加到package.json依赖项中,或者如果您希望在package.json依赖项中指定确切的版本,则可以添加--save --save-exact标志。
install命令记录在这里:https://docs.npmjs.com/cli/install
如果您不确定包的可用版本,可以使用:
1
| npm view <package> versions |
号
npm view也可以用来查看关于一个包的其他内容。https://docs.npmjs.com/cli/view/查看
- 我相信这将安装最接近的主版本,所以它可能不是您期望的stackoverflow.com/a/22345808/1074400。
- @aakilfernandes如果指定准确的版本,将安装准确的版本。如果您指定一个语义版本范围,那么您可能会得到一个不精确的匹配。在这方面,install命令没有什么独特之处。
- 同样值得注意的是,当运行"npm install express"时,实际上运行的是"npm install express@latest"
- npm view versions -json可以查看每个版本,避免在包含多个版本的列表末尾出现省略号。
- 如果使用npm install [email protected],您将无法获得准确的3.0.0版本,您将获得最新的3.x.x版本。要获得特定版本,必须使用npm install [email protected] --save-exact。请参阅以下博客文章:60devs.com/npm-install-specific-version.html
- @Patrickhund不,npm install [email protected]将为您提供准确的3.0.0版本。npm install express@^3.0.0会给你最新的3.x.x.--save-exact会影响它如何写入packages.json,我的回答中已经提到了这个问题。另外需要注意的是,--save-exact必须与--save或--save-dev结合使用,单独使用是不够的。
- 好的,谢谢你的澄清
这很容易。写下这个,例如:
或:
1 2
| npm install -g npm@latest // For the last stable version
npm install -g npm@next // For the most recent release |
。
首先删除旧版本,然后逐字运行以下内容:
稳定或近期
1 2
| npm install -g npm@latest // For the last stable version
npm install -g npm@next // For the most recent release |
。
- 这是字面上的X还是数字版本号的代名词?
- 这是一个非此即彼的问题,不是一个是/否的问题。我试了一下npm install [email protected],它似乎起作用了。这是npm解析版本号的一个特性还是一个意外?
- @基思汤普森是的,是的!呵呵,开玩笑…这是npm解析它的方式,参见:docs.npmjs.com/misc/semver x-ranges-12x-1x-12-
- @冈茨:所以是字面上的X。
- 我只是想说明为什么这对你有用。我不知道索拉布的初衷,也不知道你想做什么。3.x表示大于等于3.0且小于4.0。
- "先删除旧版本"的upvote
在我看来,这是最简单和最快的方法:
埃多克斯1〔5〕
4.2.0
埃多克斯1〔6〕
…
埃多克斯1〔5〕
3.10.10节
NPM安装-G NPM@版本
您要在其中降级
NPM安装-G [email protected]
可以使用以下命令安装以前版本的NPM包:
1
| npm install packagename@version |
您可以使用以下命令更新NPM包:
埃多克斯1〔8〕
例子:埃多克斯1〔9〕
在Ubuntu上你可以尝试这个命令。
1 2 3
| sudo npm cache clean -f
sudo npm install -g n
sudo n stable |
。
特定版本:sudo n 8.11.3而不是sudo n stable