@@ -36,10 +36,11 @@ func GetDefaultManagers() map[string]ManagerConfig {
3636 },
3737 Install : CommandConfig {
3838 Command : []string {"cargo" , "install" , "{{.Package}}" },
39- IdempotentErrors : []string {"already exists" },
39+ IdempotentErrors : []string {"already exists" , "already installed" },
4040 },
4141 Upgrade : CommandConfig {
42- Command : []string {"cargo" , "install" , "--force" , "{{.Package}}" },
42+ Command : []string {"cargo" , "install" , "--force" , "{{.Package}}" },
43+ IdempotentErrors : []string {"already up-to-date" , "up to date" },
4344 },
4445 UpgradeAll : CommandConfig {},
4546 Uninstall : CommandConfig {
@@ -53,13 +54,16 @@ func GetDefaultManagers() map[string]ManagerConfig {
5354 Parse : "lines" ,
5455 },
5556 Install : CommandConfig {
56- Command : []string {"gem" , "install" , "{{.Package}}" , "--user-install" },
57+ Command : []string {"gem" , "install" , "{{.Package}}" , "--user-install" },
58+ IdempotentErrors : []string {"already installed" },
5759 },
5860 Upgrade : CommandConfig {
59- Command : []string {"gem" , "update" , "{{.Package}}" },
61+ Command : []string {"gem" , "update" , "{{.Package}}" },
62+ IdempotentErrors : []string {"already up-to-date" , "up to date" },
6063 },
6164 UpgradeAll : CommandConfig {
62- Command : []string {"gem" , "update" },
65+ Command : []string {"gem" , "update" },
66+ IdempotentErrors : []string {"already up-to-date" , "up to date" },
6367 },
6468 Uninstall : CommandConfig {
6569 Command : []string {"gem" , "uninstall" , "{{.Package}}" , "-x" },
@@ -72,13 +76,16 @@ func GetDefaultManagers() map[string]ManagerConfig {
7276 Parse : "lines" ,
7377 },
7478 Install : CommandConfig {
75- Command : []string {"brew" , "install" , "{{.Package}}" },
79+ Command : []string {"brew" , "install" , "{{.Package}}" },
80+ IdempotentErrors : []string {"already installed" },
7681 },
7782 Upgrade : CommandConfig {
78- Command : []string {"brew" , "upgrade" , "{{.Package}}" },
83+ Command : []string {"brew" , "upgrade" , "{{.Package}}" },
84+ IdempotentErrors : []string {"already up-to-date" },
7985 },
8086 UpgradeAll : CommandConfig {
81- Command : []string {"brew" , "upgrade" },
87+ Command : []string {"brew" , "upgrade" },
88+ IdempotentErrors : []string {"already up-to-date" },
8289 },
8390 Uninstall : CommandConfig {
8491 Command : []string {"brew" , "uninstall" , "{{.Package}}" },
@@ -91,13 +98,16 @@ func GetDefaultManagers() map[string]ManagerConfig {
9198 Parse : "lines" ,
9299 },
93100 Install : CommandConfig {
94- Command : []string {"npm" , "install" , "-g" , "{{.Package}}" },
101+ Command : []string {"npm" , "install" , "-g" , "{{.Package}}" },
102+ IdempotentErrors : []string {"already installed" },
95103 },
96104 Upgrade : CommandConfig {
97- Command : []string {"npm" , "update" , "-g" , "{{.Package}}" },
105+ Command : []string {"npm" , "update" , "-g" , "{{.Package}}" },
106+ IdempotentErrors : []string {"already up-to-date" , "up to date" },
98107 },
99108 UpgradeAll : CommandConfig {
100- Command : []string {"npm" , "update" , "-g" },
109+ Command : []string {"npm" , "update" , "-g" },
110+ IdempotentErrors : []string {"already up-to-date" , "up to date" },
101111 },
102112 Uninstall : CommandConfig {
103113 Command : []string {"npm" , "uninstall" , "-g" , "{{.Package}}" },
@@ -110,13 +120,16 @@ func GetDefaultManagers() map[string]ManagerConfig {
110120 Parse : "lines" ,
111121 },
112122 Install : CommandConfig {
113- Command : []string {"pnpm" , "add" , "-g" , "{{.Package}}" },
123+ Command : []string {"pnpm" , "add" , "-g" , "{{.Package}}" },
124+ IdempotentErrors : []string {"already installed" },
114125 },
115126 Upgrade : CommandConfig {
116- Command : []string {"pnpm" , "update" , "-g" , "{{.Package}}" },
127+ Command : []string {"pnpm" , "update" , "-g" , "{{.Package}}" },
128+ IdempotentErrors : []string {"already up-to-date" , "up to date" },
117129 },
118130 UpgradeAll : CommandConfig {
119- Command : []string {"pnpm" , "update" , "-g" },
131+ Command : []string {"pnpm" , "update" , "-g" },
132+ IdempotentErrors : []string {"already up-to-date" , "up to date" },
120133 },
121134 Uninstall : CommandConfig {
122135 Command : []string {"pnpm" , "remove" , "-g" , "{{.Package}}" },
@@ -130,13 +143,16 @@ func GetDefaultManagers() map[string]ManagerConfig {
130143 JSONField : "name" ,
131144 },
132145 Install : CommandConfig {
133- Command : []string {"conda" , "install" , "-y" , "{{.Package}}" },
146+ Command : []string {"conda" , "install" , "-y" , "{{.Package}}" },
147+ IdempotentErrors : []string {"already installed" },
134148 },
135149 Upgrade : CommandConfig {
136- Command : []string {"conda" , "update" , "-y" , "{{.Package}}" },
150+ Command : []string {"conda" , "update" , "-y" , "{{.Package}}" },
151+ IdempotentErrors : []string {"already up-to-date" , "up to date" },
137152 },
138153 UpgradeAll : CommandConfig {
139- Command : []string {"conda" , "update" , "-y" , "--all" },
154+ Command : []string {"conda" , "update" , "-y" , "--all" },
155+ IdempotentErrors : []string {"already up-to-date" , "up to date" },
140156 },
141157 Uninstall : CommandConfig {
142158 Command : []string {"conda" , "remove" , "-y" , "{{.Package}}" },
@@ -149,13 +165,16 @@ func GetDefaultManagers() map[string]ManagerConfig {
149165 Parse : "lines" ,
150166 },
151167 Install : CommandConfig {
152- Command : []string {"uv" , "tool" , "install" , "{{.Package}}" },
168+ Command : []string {"uv" , "tool" , "install" , "{{.Package}}" },
169+ IdempotentErrors : []string {"already installed" },
153170 },
154171 Upgrade : CommandConfig {
155- Command : []string {"uv" , "tool" , "upgrade" , "{{.Package}}" },
172+ Command : []string {"uv" , "tool" , "upgrade" , "{{.Package}}" },
173+ IdempotentErrors : []string {"already up-to-date" , "up to date" },
156174 },
157175 UpgradeAll : CommandConfig {
158- Command : []string {"uv" , "tool" , "upgrade" , "--all" },
176+ Command : []string {"uv" , "tool" , "upgrade" , "--all" },
177+ IdempotentErrors : []string {"already up-to-date" , "up to date" },
159178 },
160179 Uninstall : CommandConfig {
161180 Command : []string {"uv" , "tool" , "uninstall" , "{{.Package}}" },
0 commit comments