相关疑难解决方法(0)

如何将package.json中的每个依赖项更新为最新版本?

我从另一个项目中复制了package.json,现在想要将所有依赖项都添加到它们的最新版本,因为这是一个新项目,如果它破坏了我不介意修复它.

最简单的方法是什么?

我现在知道的最好的方法是运行npm info express version然后为每个人手动更新package.json.肯定有更好的办法.

{
  "name": "myproject",
  "description": "my node project",
  "version": "1.0.0",
  "engines": {
    "node": "0.8.4",
    "npm": "1.1.65"
  },
  "private": true,
  "dependencies": {
    "express": "~3.0.3", // how do I get these bumped to latest?
    "mongodb": "~1.2.5",
    "underscore": "~1.4.2",
    "rjs": "~2.9.0",
    "jade": "~0.27.2",
    "async": "~0.1.22"
  }
}
Run Code Online (Sandbox Code Playgroud)

我现在是npm-check-updates的合作者,这是解决这个问题的一个很好的解决方案.

node.js npm

1871
推荐指数
28
解决办法
83万
查看次数

使用 NPM 将包更新到主要版本

Node.js项目中,我不清楚将包升级到主要版本的正确工作流程是什么。

假设我正在安装stylelintnpm install --save stylelint默认情况下,在我的package.json 中放入字符串"stylelint": "^8.4.1"这意味着如果我想用 更新它npm update,我将只获得次要版本和补丁版本 (8.4. 2 可以,8.5.0 可以,9.0.0 不行)。

如果我检查npm outdated并发现我可以更新到 9.0.0,则npm update由于上述限制而无法正常工作。

那么,如果我想升级,我应该怎么做?

我是否需要手动将package.json修改为 stylelint 版本 ^9.0.0,删除node_modules目录并重新运行npm install

或者我可能只需要删除^角色才能让它npm update完成它的工作?

要采用的常见/最佳实践是什么?

谢谢

updates node.js npm semantic-versioning

26
推荐指数
4
解决办法
2万
查看次数

使用node-gyp进行NPM安装失败

我们在项目中运行"npm install"时遇到问题.无法找到某个文件:

fatal error C1083: Cannot open include file: 'windows.h'
Run Code Online (Sandbox Code Playgroud)

它似乎来自node-gyp模块:

c:\ Program Files \nodejs \node_modules \npm \node_modules \node-gyp\src\win_delay_lo ad_hook.c(13):

致命错误C1083:无法打开包含文件:'windows.h':没有文件或目录[D:\ngs-frontend-next \node_modules\browser-sync \node_module s\socket.io \node_modules\engine.io \node_modules\ws \node_modules\bufferutil\buil \\ binding.sln]

这个节点gyp似乎是我们痛苦的永无止境的源头.起初它抱怨它需要python,所以我们安装了它.然后它抱怨它需要VCBuild,我们安装(使用.NET 2.0 SDK),现在我们有这个错误.这几乎就像错误变得越来越模糊,感觉就像我们走错了道路一样.

奇怪的是,我们团队中的其他人在运行npm-install时没有任何问题.

完整错误如下所示:

c:\ Program Files \nodejs \node_modules \npm \node_modules \node-gyp\src\win_delay_lo ad_hook.c(13):

致命错误C1083:无法打开包含文件:'windows.h':没有文件或目录[D:\ngs-frontend-next \node_modules\browser-sync \node_module s\socket.io \node_modules\engine.io \node_modules\ws \node_modules\bufferutil\buil \\ binding.sln]

gyp ERR!构建错误gyp ERR!堆栈错误: C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe退出代码失败:ChildProcess.onExit上的1个堆栈(C:\ Program Files \nodejs \node_modules \npm \node _modules \node-gyp\lib\build.js:270:23)gyp ERR!堆栈在emitTwo(events.js:87:13)gyp ERR!堆栈在ChildProcess.emit(events.js:172:7)gyp ERR!Process.ChildProcess._handle.onexit(internal/child_proces s.js:200:12)gyp ERR!系统Windows_NT 6.1.7601 gyp ERR!命令"C:\ Program Files \nodejs …

javascript node.js npm node-gyp

18
推荐指数
5
解决办法
5万
查看次数

命令“npm update”与包“npm-check-updates”

该命令和npm-check-updatesnpm update包有什么区别?使用后者是否完全安全?

执行后似乎npm update并不是所有的包都被更新,因此它看起来不完整。许多其他流行的 SO 答案都提到首先使用先前的命令,然后使用后者,但我仍然不明白后者做了什么而先验命令没有。

npm-update

11
推荐指数
2
解决办法
1万
查看次数

修复 npm 漏洞

我正在学习 TypeScript 教程。
不幸的是,这些软件包已经过时,我收到了有关漏洞的警告。

我遵循了npm check 和 update package if need 的一系列建议,即:

  • npm audit fix
  • npm audit fix --force
  • npm update

npm audit说还剩下24个漏洞。
但上述命令都无法修复它们。

npm outdated结果没有输出。

易受攻击的软件包是:

ansi-regex
glob-parent
node-forge
nth-check
postcss
Run Code Online (Sandbox Code Playgroud)

我实际上不知道为什么它们是我项目的一部分。我的 里没有它们package.json

修复这些漏洞的后续步骤是什么?

以下是我尝试过的。

dependencies node.js dependency-tree npm-audit npm-vulnerabilities

7
推荐指数
1
解决办法
4547
查看次数

这是正确的吗? ng update --all 仅显示可用的升级选项?

如果我运行命令

ng update

I see a listing of items such as
@angular/cdk  6.4.7 > 8.2.0   ng update @angular/cdk
...
...
Run Code Online (Sandbox Code Playgroud)

可能还有其他已过时的软件包。

或者运行 ng update --all 尝试同时更新所有内容。

ng update 命令本身似乎没有进行任何更改。

那么,执行后是否会发生ng update --all变化呢?

我只想看到所有软件包都被检测到需要更新。

npm angular-upgrade angular

6
推荐指数
2
解决办法
1万
查看次数