[SOLVED] `meteor update` not having the desired effect

For years now, meteor update, has just updated all the core packages for me.

I’ve noticed that’s not happening anymore (appears to have stopped at 1.8.2, reading the webapp version number below). Now, meteor update gives, among other things:

Newer versions of the following indirect dependencies are available:
 * mongo 1.8.1 (1.9.0 is available)           
 * npm-mongo 3.6.0 (3.7.0 is available)       
 * webapp 1.8.2 (1.9.0 is available)

Does anyone know why this might be happening? Is there a way to find what’s holding these package updates back?

meteor add webapp@1.9.0 gives:

 => Errors while adding packages:             
                                              
While selecting package versions:
error: No version of webapp satisfies all constraints: @1.9.0, @~1.8.0
Constraints on package "webapp":
* webapp@1.9.0 <- top level
* webapp@~1.8.0 <- top level
* webapp@1.8.0 <- mongo 1.8.0 <- accounts-base 1.5.0
* webapp@1.7.3 <- ddp-server 2.3.0 <- ddp 1.4.0 <- accounts-base 1.5.0
* webapp@1.7.0 <- routepolicy 1.1.0 <- babrahams:accounts-ldap 0.1.0
* webapp@1.7.3 <- autoupdate 1.6.0 <- hot-code-push 1.0.4 <- meteor-base 1.4.0
* webapp@1.2.0 <- babrahams:accounts-ldap 0.1.0
* webapp@1.6.0 <- meteor-base 1.4.0

I’m not sure exactly how to read that info.

meteor list --tree gives the following info, but I don’t know how to interpret that either:

accounts-base@1.5.0                           
├─┬ callback-hook@1.3.0                       
│ └─┬ ecmascript@0.14.2                       
│   ├─┬ babel-compiler@7.5.2                  
│   │ ├─┬ ecmascript-runtime@0.7.0            
│   │ │ ├─┬ ecmascript-runtime-client@0.10.0  
│   │ │ │ ├─┬ modern-browsers@0.1.5           
│   │ │ │ │ └─┬ modules@0.15.0                
│   │ │ │ │   └── modules-runtime@0.12.0      
│   │ │ │ ├── modules@0.15.0 (expanded above) 
│   │ │ │ └─┬ promise@0.11.2                  
│   │ │ │   ├── modern-browsers@0.1.5 (expanded above)
│   │ │ │   └── modules@0.15.0 (expanded above)
│   │ │ └─┬ ecmascript-runtime-server@0.9.0   
│   │ │   └── modules@0.15.0 (expanded above) 
│   │ └── modern-browsers@0.1.5 (expanded above)
│   ├── babel-runtime@1.5.0 (top level)       
│   ├── dynamic-import@0.5.1 (top level)      
│   ├── ecmascript-runtime@0.7.0 (expanded above)
│   ├── modules@0.15.0 (expanded above)       
│   └── promise@0.11.2 (expanded above)       
├── check@1.3.1 (top level)                   
├─┬ ddp@1.4.0                                 
│ ├─┬ ddp-client@2.3.3                        
│ │ ├── callback-hook@1.3.0 (expanded above)  
│ │ ├── check@1.3.1 (top level)               
│ │ ├─┬ ddp-common@1.4.0                      
│ │ │ ├── check@1.3.1 (top level)             
│ │ │ ├── ecmascript@0.14.2 (expanded above)  
│ │ │ ├─┬ ejson@1.1.1                         
│ │ │ │ ├─┬ base64@1.0.12                     
│ │ │ │ │ └── ecmascript@0.14.2 (expanded above)
│ │ │ │ └── ecmascript@0.14.2 (expanded above)
│ │ │ ├── random@1.1.0 (top level)            
│ │ │ ├─┬ retry@1.1.0                         
│ │ │ │ ├── ecmascript@0.14.2 (expanded above)
│ │ │ │ └── random@1.1.0 (top level)          
│ │ │ └── tracker@1.2.0 (top level)           
│ │ ├─┬ diff-sequence@1.1.1                   
│ │ │ ├── ecmascript@0.14.2 (expanded above)  
│ │ │ └── ejson@1.1.1 (expanded above)        
│ │ ├── ecmascript@0.14.2 (expanded above)    
│ │ ├── ejson@1.1.1 (expanded above)          
│ │ ├─┬ id-map@1.1.0                          
│ │ │ ├── ecmascript@0.14.2 (expanded above)  
│ │ │ └── ejson@1.1.1 (expanded above)        
│ │ ├─┬ mongo-id@1.0.7                        
│ │ │ ├── ecmascript@0.14.2 (expanded above)  
│ │ │ ├── ejson@1.1.1 (expanded above)        
│ │ │ ├── id-map@1.1.0 (expanded above)       
│ │ │ └── random@1.1.0 (top level)            
│ │ ├── random@1.1.0 (top level)              
│ │ ├─┬ reload@1.3.0                          
│ │ │ └── ecmascript@0.14.2 (expanded above)  
│ │ ├── retry@1.1.0 (expanded above)          
│ │ ├─┬ socket-stream-client@0.2.3            
│ │ │ ├── ecmascript@0.14.2 (expanded above)  
│ │ │ ├── modern-browsers@0.1.5 (expanded above)
│ │ │ └── retry@1.1.0 (expanded above)        
│ │ └── tracker@1.2.0 (top level)             
│ └─┬ ddp-server@2.3.1                        
│   ├── callback-hook@1.3.0 (expanded above)  
│   ├── check@1.3.1 (top level)               
│   ├── ddp-client@2.3.3 (expanded above)     
│   ├── ddp-common@1.4.0 (expanded above)     
│   ├── diff-sequence@1.1.1 (expanded above)  
│   ├── ecmascript@0.14.2 (expanded above)    
│   ├── ejson@1.1.1 (expanded above)          
│   ├── mongo-id@1.0.7 (expanded above)       
│   ├── random@1.1.0 (top level)              
│   ├── retry@1.1.0 (expanded above)          
│   ├─┬ routepolicy@1.1.0                     
│   │ ├── ecmascript@0.14.2 (expanded above)  
│   │ ├── underscore@1.0.10                   
│   │ └─┬ webapp@1.8.2                        
│   │   ├─┬ boilerplate-generator@1.6.0       
│   │   │ ├── ecmascript@0.14.2 (expanded above)
│   │   │ └── underscore@1.0.10               
│   │   ├── ecmascript@0.14.2 (expanded above)
│   │   ├─┬ inter-process-messaging@0.1.1     
│   │   │ ├── modules@0.15.0 (expanded above) 
│   │   │ └── promise@0.11.2 (expanded above) 
│   │   ├─┬ logging@1.1.20                    
│   │   │ ├── ecmascript@0.14.2 (expanded above)
│   │   │ ├── ecmascript-runtime-client@0.10.0 (expanded above)
│   │   │ └── ejson@1.1.1 (expanded above)    
│   │   ├── modern-browsers@0.1.5 (expanded above)
│   │   ├── routepolicy@1.1.0 (expanded above)
│   │   ├── underscore@1.0.10                 
│   │   └─┬ webapp-hashing@1.0.9              
│   │     ├── ecmascript@0.14.2 (expanded above)
│   │     └── underscore@1.0.10               
│   ├── underscore@1.0.10                     
│   └── webapp@1.8.2 (expanded above)         
├─┬ ddp-rate-limiter@1.0.7                    
│ └─┬ rate-limit@1.0.9                        
│   ├── ecmascript@0.14.2 (expanded above)    
│   └── random@1.1.0 (top level)

Any pointers anyone can give would be great.

Something to do with this, maybe? (From: https://github.com/meteor/meteor/blob/devel/History.md)

If you are the author of any Meteor packages, and you encounter errors when using those packages in a Meteor 1.8.2 application (for example, module.watch being undefined), we recommend that you bump the minor version of your package and republish it using Meteor 1.8.2, so Meteor 1.8.2 applications will automatically use the new version of the package, as compiled by Meteor 1.8.2:

cd path/to/your/package
# Add api.versionsFrom("1.8.2") to Package.onUse in package.js...
meteor --release 1.8.2 publish

This may not be necessary for all packages, especially those that have been recently republished using Meteor 1.8.1, or local packages in the packages/ directory (which are always recompiled from source). However, republishing packages is a general solution to a wide variety of package versioning and compilation problems, and package authors can make their users’ lives easier by handling these issues proactively.

This happened to me during the latest update because meteor update was only picking up 1.9.2, not 1.10.1. So when it updated, it updated to 1.9.2, then told me other packages had updates (For 1.10.1).

Running meteor update --release 1.10.1 installed those packages automatically as it should.

1 Like

Ah… thanks @cereal. That makes perfect sense. (And solves the problem!)