← Back to LightTable/LightTable

How to Deploy & Use LightTable/LightTable

Light Table IDE - Deployment and Usage Guide

1. Prerequisites

Runtime Requirements

  • Java Runtime Environment (JRE) 8 or higher
  • Node.js 12.x or higher (for building from source)
  • Clojure CLI tools (for development)

Development Tools

  • Git for version control
  • Leiningen (Clojure build tool) - optional but recommended
  • Chromium-based browser (for plugin development and testing)

Platform-Specific Notes

  • macOS: You may need to temporarily allow apps from "Anywhere" in Security & Privacy settings when installing the prebuilt binary
  • Windows: Ensure you have proper permissions to install applications

2. Installation

Option 1: Using Prebuilt Binaries (Recommended for Users)

  1. Download the latest binary from lighttable.com
  2. For macOS users:
    • In Finder, Ctrl-click on LightTable.app/ and select "Open"
    • When prompted about the app being unidentified, click "Open"
    • Alternatively, go to System Preferences > Security & Privacy > General, temporarily change "Allow apps downloaded from:" to "Anywhere"

Option 2: Building from Source (For Developers)

  1. Clone the repository:

    git clone https://github.com/LightTable/LightTable.git
    cd LightTable
    
  2. Install dependencies:

    npm install
    
  3. Build the project:

    npm run build
    
  4. Run the development version:

    npm start
    

3. Configuration

Environment Variables

Light Table doesn't require specific environment variables for basic operation. However, for development:

  • NODE_ENV: Set to development for development builds
  • LIGHT_TABLE_HOME: Optional path to specify Light Table's configuration directory

Configuration Files

  • User settings are stored in ~/.lighttable/ (Linux/macOS) or %APPDATA%\LightTable\ (Windows)
  • Plugin configurations are stored in the same directory under plugins/

API Keys

No API keys are required for basic functionality. Some plugins may require their own API keys.

4. Build & Run

Development Mode

# Start in development mode with hot reload
npm run dev

# Or using Leiningen
lein figwheel

Production Mode

# Build for production
npm run build

# Run the built application
npm start

Running Tests

# Run the test suite
npm test

# Run tests with coverage
npm run test:coverage

5. Deployment

For Personal Use

Light Table is primarily a desktop application. Deployment typically means installation on your local machine using the prebuilt binaries.

For Distribution

If you're building custom versions for distribution:

  1. Package the application:

    npm run package
    
  2. Platform-specific packaging:

    • macOS: Creates .dmg file
    • Windows: Creates .exe installer
    • Linux: Creates .deb and .rpm packages
  3. Distribution platforms:

    • GitHub Releases (for open-source distribution)
    • Homebrew (for macOS users)
    • Chocolatey (for Windows users)
    • Snapcraft (for Linux users)

For Plugin Development

When developing plugins:

  1. Place your plugin in ~/.lighttable/plugins/
  2. Restart Light Table to load the plugin
  3. Use the Console (Ctrl+Shift+J) to debug plugin issues

6. Troubleshooting

Common Issues and Solutions

"LightTable is damaged and can't be opened" (macOS)

  • Solution: Ctrl-click the app and select "Open", then click "Open" in the prompt. Alternatively, temporarily allow apps from "Anywhere" in Security & Privacy settings.

Application Won't Start

  • Check: Ensure Java 8+ is installed and in your PATH
  • Check: Verify Node.js is installed (required for building from source)
  • Solution: Run from terminal to see error messages:
    ./LightTable
    

Plugin Not Loading

  • Solution: Check the Console (Ctrl+Shift+J) for error messages
  • Solution: Verify the plugin is in the correct directory: ~/.lighttable/plugins/
  • Solution: Restart Light Table after adding new plugins

Build Failures

  • Solution: Ensure all dependencies are installed:
    npm install
    
  • Solution: Clear the build cache:
    npm run clean
    npm run build
    

Performance Issues

  • Solution: Disable unnecessary plugins in Settings
  • Solution: Increase memory allocation in lighttable.config if available

Language/Eval Support Issues

  • Solution: Install the appropriate language plugin from the plugin manager
  • Solution: Check that the language's runtime is installed on your system

Can't Connect to External Services

  • Solution: Check firewall settings
  • Solution: Verify network connectivity
  • Solution: Check plugin-specific configuration for API keys or endpoints

Getting Help