translate / pootle

Online translation tool
http://pootle.translatehouse.org
GNU General Public License v3.0
1.48k stars 287 forks source link

Lodash dependency may be wrong in npm requirements #4872

Closed phlax closed 8 years ago

phlax commented 8 years ago

Building static resources throws an error without explicitly installing lodash before running npm install .

julen commented 8 years ago

I'm unable to trigger any error, you'll need to provide more detailed information @phlax and at least share the error. By the way, npm install doesn't need any extra parameters such as ..

phlax commented 8 years ago

the build recipe is here

https://github.com/translate/translate-dockerfiles/blob/master/2.8-build/Dockerfile

The current workaround is these 2 lines:

https://github.com/translate/translate-dockerfiles/blob/master/2.8-build/Dockerfile#L29:L30

Removing triggers this error

npm --version
3.10.5
node --version
v0.12.15
cd /home/pootle/pootle_env/src/pootle/pootle/static/js && \
npm cache clear && \
npm install && \
cd /home/pootle/pootle_env/src/pootle
pootle@0.0.0 /home/pootle/pootle_env/src/pootle/pootle/static/js
+-- autolinker@0.11.2 
...snip...
    `-- source-map@0.4.4 

npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.0.12
python manage.py webpack --extra=--display-error-details
2016-07-08 06:54:30,479 INFO Loading custom settings from '/home/pootle/.pootle/pootle.conf'...
2016-07-08 06:54:31,014 INFO Using Python PO
ModuleNotFoundError: Module not found: Error: Cannot resolve module 'lodash/isPlainObject' in /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/redux/lib
    at /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/webpack/lib/Compilation.js:229:38
    at onDoneResolving (/home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/webpack/lib/NormalModuleFactory.js:29:20)
    at /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/webpack/lib/NormalModuleFactory.js:85:20
    at /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/async/lib/async.js:726:13
    at /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/async/lib/async.js:52:16
    at done (/home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/async/lib/async.js:241:17)
    at /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/async/lib/async.js:44:16
    at /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/async/lib/async.js:723:17
    at /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/async/lib/async.js:167:37
    at /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js:24:19
    at onResolved (/home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/enhanced-resolve/lib/Resolver.js:38:18)
    at innerCallback (/home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/enhanced-resolve/lib/Resolver.js:94:11)
    at loggingCallbackWrapper (/home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/enhanced-resolve/lib/createInnerCallback.js:21:19)
    at /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/tapable/lib/Tapable.js:134:6
    at /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/enhanced-resolve/lib/ModulesInDirectoriesPlugin.js:54:23
    at /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/enhanced-resolve/lib/Resolver.js:191:15
    at /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/enhanced-resolve/lib/ModulesInDirectoriesPlugin.js:45:26
    at loggingCallbackWrapper (/home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/enhanced-resolve/lib/createInnerCallback.js:21:19)
    at /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/tapable/lib/Tapable.js:134:6
    at /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/enhanced-resolve/lib/Resolver.js:122:33
    at /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/enhanced-resolve/lib/Resolver.js:191:15
    at applyPluginsParallelBailResult.createInnerCallback.log (/home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/enhanced-resolve/lib/Resolver.js:110:4)
    at loggingCallbackWrapper (/home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/enhanced-resolve/lib/createInnerCallback.js:21:19)
    at /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/tapable/lib/Tapable.js:134:6
    at Tapable.<anonymous> (/home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/enhanced-resolve/lib/DirectoryDescriptionFilePlugin.js:24:12)
    at Storage.finished (/home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:38:16)
    at /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/graceful-fs/graceful-fs.js:78:16
    at fs.js:263:20
    at FSReqWrap.oncomplete (fs.js:95:15)
resolve module lodash/isPlainObject in /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/redux/lib
  looking for modules in /home/pootle/pootle_env/src/pootle/pootle/static/js/shared
    /home/pootle/pootle_env/src/pootle/pootle/static/js/shared/lodash doesn't exist (module as directory)
  looking for modules in /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules
    resolve 'file' or 'directory' isPlainObject in /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/lodash
      resolve file
        /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/lodash/isPlainObject doesn't exist
        /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/lodash/isPlainObject.js doesn't exist
      resolve directory
        /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/lodash/isPlainObject doesn't exist (directory default file)
        /home/pootle/pootle_env/src/pootle/pootle/static/js/node_modules/lodash/isPlainObject/package.json doesn't exist (directory description file)

I believe the problem is the dependency specified here (but not sure and havent had time to test)

https://github.com/translate/pootle/blob/master/pootle/static/js/package.json#L22

julen commented 8 years ago

Cool, could you please check whether #4878 helps? (I have nothing docker-related setup here to test quickly).

julen commented 8 years ago

This is now fixed as a side-effect of #4878.