节点更新特定包

sam*_*sam 132 javascript node.js npm gulp browser-sync

我想更新我的浏览器同步而不更新我的所有节点包.我怎样才能做到这一点?我当前版本的Browser-sync没有浏览器同步GUI :(

??? browser-sync@1.9.2
? ??? browser-sync-client@1.0.2
Run Code Online (Sandbox Code Playgroud)

Rya*_*ale 217

大多数情况下,您只需更新这样的模块即可获得最新的非破坏性更改(尊重package.json中指定的semver)(< - 再次读取最后一部分):

npm update browser-sync
-------
yarn upgrade browser-sync
Run Code Online (Sandbox Code Playgroud)
  • npm|yarn outdated看哪个模块有新版本
  • 使用npm update|yarn upgrade(没有包名称)更新所有模块
  • 包括--save-dev|--dev如果你想更新的版本号保存到您的package.json. (注意:从npm v5.0开始,这只是必需的devDependencies).

在您的情况下,您似乎想要下一个主要版本(v2.xx),它可能会有重大更改,您需要更新您的应用程序以适应这些更改.你可以通过以下方式安装/保存最新2.x.x的:

npm install browser-sync@2 --save-dev
-------
yarn add browser-sync@2 --dev
Run Code Online (Sandbox Code Playgroud)

...或者最新2.1.x的做法:

npm install browser-sync@2.1 --save-dev
-------
yarn add browser-sync@2.1 --dev
Run Code Online (Sandbox Code Playgroud)

...或者最新最好的做法:

npm install browser-sync@latest --save-dev
-------
yarn add browser-sync@latest --dev
Run Code Online (Sandbox Code Playgroud)

注意:最后一个与执行此操作没有什么不同:

npm uninstall browser-sync --save-dev
npm install browser-sync --save-dev
-------
yarn remove browser-sync --dev
yarn add browser-sync --dev
Run Code Online (Sandbox Code Playgroud)

--save-dev部分很重要.这将卸载它,从package.json中删除值,然后重新安装最新版本并将新值保存到package.json.如果省略该npm|yarn outdated部分,则与运行上述更新命令没有什么不同.

  • @Wildhoney - 我恭敬地不同意你(大多数情况下) - `npm update`将安装最新的**各自的semver**.更新到下一个_major_版本的唯一方法是如上所述明确地执行此操作.如果您从未安装过软件包并且尝试更新/保存它,那么它将安装最新版本,但这并不常见.还有很少使用semver来指定_latest major version_ - 它在你的package.json中看起来像这样:`browser-sync:'*'````browser-sync:'x'` - 但我不建议这样做那. (5认同)
  • `npm update browser-sync --save-dev` 也可以更新到主要版本,并保存 package-lock.json (当然,如果存在的话)。 (3认同)
  • @RyanWheale,请注意,因为不需要 npm@5.0.0 `--save-dev`,因为它会自动保存到 package.json (https://docs.npmjs.com/cli/update) (2认同)
  • @lakes 实际上从 npm@5.0.0 开始默认是 --save,而不是 --save-dev。如果您想创建仅开发依赖项,您仍然需要指定 --save-dev 。 (2认同)
  • @JoshuaHarris - 使用 npm@5,`npm update` 将更新依赖项和 devDependency,并将新版本号保存到 package.json 中的适当位置。 (2认同)
  • npm update &lt;pspecial_package&gt; 对我不起作用 npm install &lt;pspecial_package&gt;@latest -S 对我有用 (2认同)

Qui*_*inn 32

使用npm outdated 查看当前最新版本的所有包。


然后npm i packageName@versionNumber安装特定版本:example npm i browser-sync@2.1.0

npm i packageName@latest安装最新版本:例如 npm i browser-sync@latest

  • 这通过展示如何安装特定版本的依赖项而不提及主要/次要版本,更清楚地回答了操作员的问题。 (3认同)