Comments (28)
Ok so issues I have spotted so far, fork doesn't seem to work for uname, Not sure how to fix this.
Issue files found so far:
generate-dev-bundle.sh
install-s3.sh
meteor
MongoDB isn't installed using generate-dev-bundle.sh change should work:
elif [ "$UNAME" == "WindowsNT" ] ; then
if [ "$ARCH" == "X86"] ; then
ARCH="x86_64"
fi
MONGO_NAME="mongodb-win32-${ARCH}-2.0.2"
MONGO_URL="http://downloads.mongodb.org/win32/${MONGO_NAME}.tgz"
the later code to untar needs to change to unzip too.
from meteor.
I think the biggest problem is that node-fibers don't support Windows at this time.
from meteor.
After extensive investigation it seems only XP is impacted by the fork issue:
meteor: fork failed: no error [7]
I would need someone to confirm though.
from meteor.
Ah @speier missed that comment, I'm guessing that would need to be resolved first
from meteor.
+1 on the Windows support.
I'm going to close this. Everything hinges on node-fibers. Once that's available we'll make a complete package for Windows.
from meteor.
Hi, just wanted to let you know that we are working on windows support for node-fibers (see also discussion at laverdet/node-fibers#67).
from meteor.
@japj yes! we have been watching with much interest. let me know if we can be helpful.
from meteor.
@japj great news! looking forward for it.
from meteor.
Awesome!
from meteor.
The remaining issues on windows were resolved and Marcel pushed the new node-fibers version (0.6.7) to npm.
from meteor.
@japj There are still issues on Windows, see laverdet/node-fibers#74
from meteor.
There is a known stability issue with node 0.6.x and node-fibers that looks to be fixed in the node 0.6 branch, see also laverdet/node-fibers#71
Node 0.7.8 should work ok with fibers if you can try it.
from meteor.
@japj: Most of the dependencies are targetting 0.6.x so that's going to be a problem: laverdet/node-fibers#74 (comment)
Fibers on its own does indeed work work on 0.7.x on Windows, but Meteor can't run on 0.7.x yet on any platform.
$ node test.js
already-running.js: pass
bad-context.js: pass
child-process.js: pass
current.js: pass
exec.js: pass
exit.js: pass
fibonacci.js: pass
finish-multiple.js: pass
future.js: pass
illegal-yield.js: pass
pool.js: pass
process-title.js: pass
stack-overflow.js: pass
started.js: pass
unwind.js: pass
from meteor.
@japj: As far as I understand, I need to wait for a new stable 0.6.17 msi to be hosted by nodejs? (Can't compile it myself)
from meteor.
@japj: Ah, compiling 0.6.18 myself went fine and it is working: http://i.imgur.com/Rg8Mp.png :)
from meteor.
Is there any work being done on providing an installation instruction/mechanism for meteor on windows? (assuming not everyone will have curl and sh installed on windows)
from meteor.
@japj: I've currently only worked on getting ./generate-dev-bundle.sh working when you have Git + Git Bash + mktemp + curl + unzip + tar, as well as fixing various issues inside Meteor that caused it to fail on Windows. This finally produces a dev bundle which can be used by ./meteor.sh. Perhaps we could look into building a meteor.msi which will create "C:\Program Files\Meteor" (or C:\Meteor if spaces can not be supported) and a meteor.exe (instead of meteor.sh) which will function similar to how meteor.sh does.
Writing the meteor.exe should be no rocket science using either C++ (hopefully does not require C++ redistributables) or C# (lowest .NET requirements, installed on most PCs). I'm willing to do that but would love some input from @debergalis first based on the dev bundle what they think is a good way to approach (once I do a pull request for the generate-dev-bundle). In any case, getting the dev bundle running is no rocket science so far.
In the meantime we might even be able to do something like:
git close METEOR_URL_HERE
- Download a hosted stable dev bundle for Windows.
- Start bash in the meteor folder and run
meteor
- Make sure
dev_bundle/bin
and the directory containingmeteor
are in PATH.
This would only require git
and tar
to be available, which both come installed with something like Git Bash.
Later on we can simplify this by just downloading and running meteor.msi
which will provide the user with meteor.exe
, node.exe
, mongo and all the npm dependencies; as well as update his path. :)
from meteor.
Above comment is now final, did some editing to make sure it contains all the details. ;)
from meteor.
hmm what is wrong with having a meteor-installer written in node? (similar to the bash one currently in use), that way you don't need any C/C++/C# and it could work for all platforms node is running on.
from meteor.
@japj +1 for node ;)
from meteor.
@japj: Ignore my previous comment, I now see what you mean. We could indeed ask the user to install a Meteor-compatible version of node.js and then simply run node meteor.js
.
from meteor.
well, you do have a point with the installer.
I think there are probably 2 'kinds' of uses for this.
- people that have node installed already and expect to be able to do an 'npm install' and get going (i.e. meteor should fit in existing infrastructure)
- people that don't have anything installed yet and want an 'out of the box' experience without having anything installed yet
both options seem valid to me.
from meteor.
@japj: Yeah, we could have install.sh
and somename.msi
for people that don't have it and then npm install meteor
for anyone else. I'm going to attempt to write a npm installer now under some test name and will update on my progress.
from meteor.
I took a stab at getting meteor running on Windows, now that it seems fibers is available on Windows.
I used this NPM Package to get the dependencies installed: https://gist.github.com/2359557
I manually installed MongoDB and added it to my Windows PATH.
Once I installed this I could manually run meteor with: node {METEOR-PATH}\app\meteor\meteor.js
With this I could get the create function to somewhat work:
node {METEOR-PATH}\app\meteor\meteor.js create {APP}
Even with Mongo in the PATH, it seems Meteor can't create the DB instance.
I had to manually create the folders:
{METEOR-APP-PATH}\.meteor\local
{METEOR-APP-PATH}\.meteor\local\db
Then I could manually run mongo with the following:
mongod --dbpath {METEOR-APP-PATH}\.meteor\local\db
This got me passed the DB error:
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: ENOENT, no such file or directory 'E:\meteor\apps\demo\.meteor\local\db'
at Object.mkdirSync (fs.js:381:18)
at Object.mkdir_p (E:\meteor\meteor\app\lib\files.js:255:8)
at Object.launch_mongo (E:\meteor\meteor\app\lib\mongo_runner.js:148:9)
at E:\meteor\meteor\app\meteor\run.js:581:18
at Server.<anonymous> (E:\meteor\meteor\app\meteor\run.js:630:5)
at Server.g (events.js:156:14)
at Server.emit (events.js:64:17)
at Array.0 (net.js:777:10)
at EventEmitter._tickCallback (node.js:192:40)
I am now stuck at the following errror on the CMD prompt as well as through the server:
Your app is crashing. Here's the latest log.
Errors prevented startup:
Exception while bundling application:
Error: internal error: source file outside of parent?
at E:\meteor\meteor\app\lib\packages.js:191:15
at Array.map (native)
at [object Object]._scan_for_sources (E:\meteor\meteor\app\lib\packages.js:186:22)
at E:\meteor\meteor\app\lib\packages.js:114:21
at [object Object].on_use (E:\meteor\meteor\app\lib\packages.js:136:21)
at [object Object].use (E:\meteor\meteor\app\lib\bundler.js:363:11)
at Object.bundle (E:\meteor\meteor\app\lib\bundler.js:648:12)
at E:\meteor\meteor\app\meteor\run.js:499:26
at E:\meteor\meteor\app\meteor\run.js:595:9
at E:\meteor\meteor\app\lib\mongo_runner.js:154:7
Your application is crashing. Waiting for file change.
from meteor.
I have it running on Windows already so you are kind of duplicating my work. If you join on IRC and try to contact TomWij I'll try to contact you back once I get home, in an hour or so. Currently, Node.js triggers an assert in node-fibers which is still to be resolved. However, I made a node.exe that can temporarily be used to fix this. As well as done various fixes in my Meteor to fix issues that arise. No need to do mongodb manually. So, I'm happy to get you running once I arrive at home...
from meteor.
Thought that I should update this issue with a small comment, testing versions are available at:
from meteor.
Tried a clone today, windows 10 with a selection of node versions: "Sorry, this OS is not supported yet."
from meteor.
@davewallace This issue has been closed for over 4 years. Please see #7583 if you're trying to curl
/ or clone
using Bash on Windows 10 Anniversary (not supported yet). But really, the usual Windows 10 installer should still work fine using the Command Prompt (or PowerShell). Either way, pick a newer, more relevant issue.
from meteor.
Related Issues (20)
- [Meteor 3.0] Promise rejection stops process
- Unable to login via Facebook on mobile app Meteor version 2.13.3 HOT 2
- [Meteor 3] Uncaught Promise Rejection when throwing stub error
- Unable to build project, isobuild has error: `EACCES: permission denied, open ...` HOT 2
- Document --release option on meteor publish command
- Meteor 3.0: allow `async` functions to be registered in `Accounts.registerLoginHandler` to become fiber free HOT 3
- Meteor 3 beta.0: Throwing an error inside of a meteor method doesn't throw on the client
- Cordova iOS - Not working with Vue3 HOT 2
- Meteor3 asyncIterator does not exist on Asynchronous cursor
- [ Meteor v3 ] -`Email.sendAsync` fails, also impacting `accounts-password` methods HOT 1
- Meteor 3 changes the default behavior of Meteor.absoluteUrl() HOT 5
- After calling an async method, sync methods no longer work (Cordova only) HOT 1
- Typo in "Why Meteor?" section
- Top-level await does not seem to work in Meteor 3 HOT 2
- Auto Walk always goes to 0,0
- [Meteor 3] Server-only Method displays "Method stub took too long" warning in browser console when using Meteor.callAsync HOT 3
- Underscore 1.6.0 `_.intersection` bug (Meteor package) HOT 1
- Vite config is parsed incorrectly HOT 2
- Error when installing package `jam:method` HOT 5
- `npm install -g meteor` has overly strict install requirements HOT 2
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 meteor.