Skip to content

Commit

Permalink
Common issues transfer (#12)
Browse files Browse the repository at this point in the history
* Add common issues markdown from ember-cli.com
 - Addressing issue #3, item 10, "Port over Common Issues. Mostly copy and paste from this source code"
 - Converted the markdown file found here: https://raw.githubusercontent.com/ember-cli/ember-cli.github.io/master/_posts/2013-04-03-common-issues.md

* Update internal link to the Windows Support section

* Modify common-issues.md content per @sandstrom's suggestions
 - Clarify the heading for the npm packages section
 - Add a description for the Canary build section
 - Remove PhantomJS section
 - Fix the link to Vagrant to include https

* Remove references to PhantomJS in the Docker section
 - Commenting out Docker section until it can be rewritten without using PhantomJS
  • Loading branch information
BradenLawrence authored and Jen Weber committed Oct 11, 2018
1 parent 95afec1 commit b3d01d2
Showing 1 changed file with 105 additions and 1 deletion.
106 changes: 105 additions & 1 deletion guides/reference/common-issues.md
Original file line number Diff line number Diff line change
@@ -1 +1,105 @@
<!-- copy over from ember-cli.com -->
### Don't install `npm` packages with `sudo`

Installing packages such as `bower` with `sudo` powers can lead to permissions
issues and ultimately to problems installing dependencies. See
[https://gist.github.com/isaacs/579814](https://gist.github.com/isaacs/579814)
for a collection of various solutions.

### Installing From Behind a Proxy

If you're behind a proxy, you might not be able to install because Ember CLI–or
some of its dependencies–tries to `git clone` a `git://` URL. (In this scenario,
only `http://` URLs will work).

You'll probably get an error like this:

```bash
npm ERR! git clone git://github.com/jgable/esprima.git Cloning into bare repository '/home/<username>/.npm/_git-remotes/git-github-com-jgable-esprima-git-d221af32'...
npm ERR! git clone git://github.com/jgable/esprima.git
npm ERR! git clone git://github.com/jgable/esprima.git fatal: unable to connect to github.com:
npm ERR! git clone git://github.com/jgable/esprima.git github.com[0: 192.30.252.129]: errno=Connection timed out
npm ERR! Error: Command failed: fatal: unable to connect to github.com:
npm ERR! github.com[0: 192.30.252.129]: errno=Connection timed out
```

As a workaround you can configure `git` to make the translation:

```bash
git config --global url."https://".insteadOf git://
```

### Using Canary Build instead of release

In most cases you should use a stable release, but if you need to install a canary version to test beta features, you'd do it like this:

For Ember: `bower install ember#canary --resolution canary`
For `ember-data`: `npm install --save-dev emberjs/data#master`

### Windows Build Performance Issues

See [The Windows Section](/release/reference/windows/) for more details.

### Cygwin on Windows

Node.js on Cygwin is no longer supported [more
details](https://github.com/nodejs/node/wiki/Installation#building-on-cygwin)
Rather then using Cygwin, we recommend running Ember CLI natively on windows,
or via the new [Windows Subsystem
Linux](https://msdn.microsoft.com/en-us/commandline/wsl/install_guide).

<!-- ### Usage with Docker -->
<!-- Possible topic for future development. -->


### Usage with Vagrant

[Vagrant](https://vagrantup.com) is a system for automatically creating and
setting up development environments that run in a virtual machine (VM).

Running your Ember CLI development environment from inside of a Vagrant VM will
require some additional configuration and will carry a few caveats.

#### Ports

In order to access your Ember CLI application from your desktop's web browser,
you'll have to open some forwarded ports into your VM. Ember CLI by default
uses two ports.

* For serving assets the default is `4200`. Can be configured via `--port 4200`.
* For live reload there is no default. Can be configured via `---live-reload-port=9999`.

To make Vagrant development seamless these ports will need to be forwarded.

```ruby
Vagrant.configure("2") do |config|
# ...
config.vm.network "forwarded_port", guest: 4200, host: 4200
config.vm.network "forwarded_port", guest: 9999, host: 9999
end
```

#### Watched Files

The way Vagrant syncs directories between your desktop and vm may prevent file
watching from working correctly. This will prevent rebuilds and live reloads
from working correctly. There are several work arounds:

1. Watch for changes by polling the file system via: `ember serve --watcher polling`.
2. Use [nfs for synced folders](https://docs.vagrantup.com/v2/synced-folders/nfs.html).

#### VM Setup

When setting up your VM, install Ember CLI dependencies as you normally would.
Some of these dependencies (such as [broccoli-sass](#sass)) may have native
depenencies that may require recompilation. To do so run:

```bash
npm rebuild
```

#### Provider

The two most common Vagrant providers, VirtualBox and VMware Fusion, will both
work. However, VMware Fusion is substantially faster and will use less battery
life if you're on a laptop. As of now, VirtualBox will use 100% of a single CPU
core to poll for file system changes inside of the VM.

0 comments on commit b3d01d2

Please sign in to comment.