Can't build 0.69.2 from source any more: Cannot find module 'postcss-import'


#1

Description:

I can’t build 0.69.2 from source any more. A meteor npm start ends with an error.

Steps to reproduce:

  1. checkout 0.69.2
  2. run meteor npm start

Expected behavior:

RC should start.

Actual behavior:

meteor npm start ends with the following error:

npm notice created a lockfile as package-lock.json. You should commit this file.
added 177 packages in 6.552s
rocketchat:livestream: updating npm dependencies -- googleapis...
minifier-postcss: updating npm dependencies -- app-module-path, postcss, source-map...
                                              
Unable to resolve some modules:

  "fibers/future" in /home/rocketchat/build/server/startup/migrations/v130.js (os.linux.x86_64)
                                              
If you notice problems related to these missing modules, consider running:
                                              
  meteor npm install --save fibers            
                                              
=> Errors prevented startup:                  
   
   While minifying app stylesheet:
   packages/modules-runtime.js:231:12: Cannot find module 'postcss-import'
   at makeMissingError (packages/modules-runtime.js:231:12)
   at require (packages/modules-runtime.js:241:19)
   at Object.keys.forEach.pluginName (packages/minifier-postcss/plugin/minify-css.js:20:26)
   at Array.forEach (<anonymous>)
   at getPostCSSPlugins (packages/minifier-postcss/plugin/minify-css.js:19:38)
   at css.map.file (packages/minifier-postcss/plugin/minify-css.js:62:30)
   at Array.map (<anonymous>)
   at mergeCss (packages/minifier-postcss/plugin/minify-css.js:53:22)
   at CssToolsMinifier.processFilesForBundle (packages/minifier-postcss/plugin/minify-css.js:175:18)
      
=> Your application has errors. Waiting for file change.

Server Setup Information:

  • Version of Rocket.Chat Server: 0.69.2
  • Operating System: Ubuntu 16.04 LTS
$ nvm ls
->      v8.11.3
default -> v8.11.3
node -> stable (-> v8.11.3) (default)
stable -> 8.11 (-> v8.11.3) (default)
iojs -> N/A (default)
lts/* -> lts/carbon (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.14.4 (-> N/A)
lts/carbon -> v8.12.0 (-> N/A)
$ npm --version
5.6.0

Additional context

After the same procedure it was still possible last week to build RC 0.69.2 from source, kind of strange.

$ meteor npm install postcss-import
up to date in 5.048s

This is related to bug report on github: https://github.com/RocketChat/Rocket.Chat/issues/12220


#2

There were some old entries in the user’s .bashrc:

export NODE_ENV=production
export NODE_VERSION=default

I think export NODE_ENV=production was my problem. I removed both and build is fine now.


#3

yes specifically if those set when meteor installing dependencies since NODE_ENV by default when set to production doesnt install any of the packages in dev-dependencies