Comments (7)
Hi, I'm confused as to why this makes your deployment process slow.
Are you running "npm install protobuf" more than once on each machine? If so, why do you need to do this?
Perhaps I haven't understood the issue here?
from protobuf.
We need to run "npm install protobuf" multiple times on each machine, because our deployment process makes sure that all packages are installed before proceeding. It is quite convenient for us to have a single script that installs all npm dependencies, so that it is idempotent and it runs the same on new and on old machines.
This setup works well with all packages except for protobuf, which is compiled every time.
from protobuf.
The current build system was contributed by @seishun - perhaps you could ask him whether he know why it recompiles on each install?
Unfortunately for most users this is likely to be an irrelevant issue - though I do see why it is annoying for you. Perhaps you could create and contribute a fix?
from protobuf.
P.S. Build system was contributed here: a1205e7
Note: this page is huge and takes a minute or two to load on 10MBit broadband.
from protobuf.
We already have a workaround in place: one script to install and another to update. It is a bit annoying, and the issue is likely to bite others in the future, but my current knowledge of the npm build system is more likely to cause damage than to solve anything. At least now the issue is documented.
from protobuf.
@alexfernandez What are your install scripts doing that the normal npm process doesn't. If I have a package that depends on protobuf I just put '"protobuf" : "~0.8.6" in dependencies object in package.json. Then run npm install
, it will compile protobuf and download any other needed packages, any npm install
calls later skip the compiling and installation of the already installed package.
from protobuf.
@AdamMagaluk that is not our use case. Just run "npm install protobuf" from the command line. The output will look like:
$ npm install protobuf
npm http GET https://registry.npmjs.org/protobuf
npm http 304 https://registry.npmjs.org/protobuf
> [email protected] install /.../node_modules/protobuf
> node-gyp rebuild
and it will recompile all native code in the package every time.
On second inspection, apparently all native modules are recompiled every time, it is just that protobuf takes much, much longer than the rest. Closing issue. Thanks for your time!
from protobuf.
Related Issues (20)
- Install errors HOT 2
- How to process bytes field HOT 6
- Can't install on v0.10.15
- Can't install on v0.10.15
- Is there a way to read service rpc defination from desc? HOT 1
- wrong place. sorry
- Support for repeated string fields is not working HOT 3
- Are there any plans on adding node 0.10 to the engines? HOT 1
- How to read enum types and their values?
- Add support for node.js v0.11.13 / v0.12 HOT 7
- Error when attempting to build a 32 bit version HOT 1
- Error occurred when I serialize a PB and turned it to base64 and decode it and then parse. HOT 1
- [] serialize, then parse, but not get [], is {}, why? HOT 2
- Compile for io.js 1.0.4 HOT 3
- Does not support parameter name like "a_b_c"
- Malformed descriptor HOT 1
- make: *** [Release/obj.target/protobuf_for_node/protobuf_for_node.o] Error HOT 1
- on MacOS, node v4.4.2:: [Release/obj.target/protobuf_for_node/protobuf_for_node.o] Error 1 HOT 1
- Fails to build on OSX HOT 1
- Builds broken on macOS Mojave
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from protobuf.