Chocolatey 可以识别手动 nodejs 安装吗?

j4v*_*4v1 4 updates node.js npm chocolatey

运行命令node -v给出以下值:v0.10.33. 我知道 Node.js 目前的版本是 0.12。然而,在运行 a 时choco update nodejs,提示会显示“Nothing to update”。在“choco update npm”之后,npm 也会发生同样的情况。

我已经从他们网站 nodejs.org 上的安装包中安装了 Node.js。一段时间之后,我还安装了 Chocolatey,并且时不时地使用该工具进行软件包安装。

是否可以让 Chocolatey 识别现有的 Node.js 安装并从中选择 choco 更新?

我也希望能够以同样的方式从 Chocolatey 获取 npm 更新。


我没有最新的巧克力。

> choco list --local-only nodejs 
Opción desconocida: '--local-only' 

nodejs.commandline 0.12.2 
npm 1.4.9.20150213 
EthanBrown.DevTools.Web 0.3.1 
ghost 0.5.5.1 
io.js 1.7.1 
livestreamer-twitch-gui 0.7.1 
nodejs 0.12.2 
nodejs.install 0.12.2 
node-webkit-0.9.2 0.9.2 
node-webkit 0.6.2 
Brackets.Theseus 0.2.8 
Yeoman 1.1.2 
Run Code Online (Sandbox Code Playgroud)

将 Chocolatey 升级到 v0.9.9.4 后

> choco list --local-only
Chocolatey v0.9.9.4 [nl] 0 packages installed.
Run Code Online (Sandbox Code Playgroud)

我使用 npm 更新了 Node.js。

> node -v
v0.12.2
Run Code Online (Sandbox Code Playgroud)

但是,在 0.10.33 版本重新安装 Node.js 后,

> choco install nodejs -version 0.10.33
Run Code Online (Sandbox Code Playgroud)

我不能使用npm

无法在“npm.cmd”(C:\ProgramData\chocolatey\lib\npm\tools\npm.cmd)中找到文件。这通常表示文件丢失或移动。

我会暂时离开它,直到我排除故障。

Gar*_*ark 5

另一种选择,假设您已经通过 MSI 安装了 Node.js,则运行:

choco install nodejs -version 0.12.2 -y -n

-n 参数,如此处所述:

https://github.com/chocolatey/choco/wiki/CommandsInstall#options-and-switches

跳过与 Chocolatey 包关联的 PowerShell 脚本。这实质上是将软件包版本添加到 Chocolatey 存储库中,但它不会运行关联的安装脚本。

这就是我“认为”你所追求的。

注意:并不是所有的包都有 Chocolateyinstall.ps1 文件,而是依赖于 Chocolatey 的默认安装行为,即为包含的 EXE 文件创建垫片等。就我所知,skippowershell 标志不会阻止这种情况的发生。