Ember Try is an Ember CLI addon designed to facilitate testing Ember applications and addons against various versions of their dependencies, particularly `ember` and `ember-data`. The current stable version is 4.0.0, released in March 2025. It allows developers to define "scenarios" that modify `package.json` dependencies, install them, run a specified command (usually `ember test`), and then revert the changes. This is crucial for maintaining compatibility across different Ember ecosystem versions. Its primary differentiators include deep integration with `ember-cli`, a declarative configuration for scenarios, and commands like `ember try:each` for iterative testing and `ember try:one` for specific scenario runs. It also supports automatic scenario generation based on `semver` ranges in `package.json` via its `versionCompatibility` feature, making it a cornerstone for robust Ember ecosystem testing. The release cadence appears tied to major Ember CLI or Node.js ecosystem shifts, with major versions released periodically to address breaking changes and new features.
npm install ember-tryVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to install `ember-try`, configure a `config/ember-try.js` file with basic scenarios for different Ember versions (default, release, beta, canary), and then execute tests across all defined scenarios using the `ember try:each` command. This setup is common for CI environments.
Update your `config/ember-try.js` file to remove the `project` argument from the exported function signature (e.g., `module.exports = function() { ... }`).If your scenarios rely on specific pnpm lifecycle scripts, you may need to explicitly configure them not to be ignored or adjust your workflow accordingly.
Ensure your development and CI environments are running Node.js version 18 or higher. The `engines.node` field specifies `>= 18`.
Migrate all dependency management in your `ember-try` scenarios from Bower to npm or pnpm. `ember-try` now exclusively manages Node package manager dependencies.
Always manually run `ember try:reset` after using `--skip-cleanup=true` if you need to restore your project to its original state. Avoid this option before building or deploying if you expect original dependencies.
Update `config/ember-try.js` to remove the `project` argument from the exported function signature. For example, change `module.exports = function(project) { ... }` to `module.exports = function() { ... }`.Upgrade your Node.js environment to version 18 or higher (e.g., using `nvm install 18 && nvm use 18`).
Migrate all dependency declarations within your `ember-try` scenarios from Bower to npm or pnpm. `ember-try` exclusively manages Node package manager dependencies.
Ensure `ember try:reset` is explicitly run after any command using `--skip-cleanup=true`, or configure your CI to always perform a clean checkout for build steps to prevent dependency pollution.