Some node modules have specific platform install requirements. For example, node-sass cannot be built on a mac and used on windows or linux. It can run on windows, but only if you build it on windows. Because of its node-gyp dependency, it must be specifically built on the platform for which you intend to run it.
Whereas lodash has no such complexity.
Is there any (ideally, automatic or programmatic) way to know which packages work like node-sass, and which work like lodash, apart from reading the documentation for each package/manually experimenting?
I want to mount my node_modules directory to a docker container, but I want to install my node modules locally on the host. That doesn't work for any modules such as node-sass.
The package.json file should specify any OS limitations the package has using the os property, e.g. "os" : [ "darwin", "linux" ] or even "os" : [ "!win32" ].
Having said that, there's no real way of enforcing the use of this property, and a package author can just omit (or forget!) to specify the os property in the package.json file but still write a package that will only work on a certain operating system.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With