skip to Main Content

I have a laravel project and I need to build styles and scripts with laravel-mix, but a testing server (Ubuntu 20.04.4) hasn’t a globally installed node. Node and npm are in different folders in the system so I run commands like this:

/path/to/node /path/to/npm install
/path/to/node /path/to/npm run dev

But when I run npm run dev (this command runs laravel-mix build), I see the error:

> [email protected] dev
> mix

/usr/bin/env: ‘node’: No such file or directory

In the package.json it looks like this:

"scripts": {
    "dev": "mix"
    ...
}

I checked the laravel-mix package (in node_modules) and found this: #!/usr/bin/env node. The package checks the node var in this file, but there is no node var.

I don’t need to change the env file, so how can I change this path or set a temporary system var? Is there any way to simulate that the variable is there?

2

Answers


  1. Chosen as BEST ANSWER

    I resolved my issue with Docker, so now I run this command on git push: docker run --rm -v /path/to/project:/var/www/html node:16.16.0-alpine npm run dev --prefix /var/www/html

    Perhaps it will be useful to someone.

    UPD

    I found another way to resolve it, I use PATH incorrectly and for this reason it didn't work:

    Wrong

    I set paths to node and npm and then add it to PATH like this:

    NODE_PATH="/path/to/node_folder/node"
    NPM_PATH="/path/to/node_folder/npm"
    
    PATH="${NODE_PATH}:${NPM_PATH}:$PATH"
    

    And the system can't find npm and node anyway.

    The right way

    Add /path/to/node_folders (node and npm are in it) to PATH:

    NODE_DIR="/path/to/node_folder"
    
    PATH="${NODE_DIR}:$PATH"
    

    And then, I can run just npm install and npm run dev without full paths to them.


  2. I have one solution for this problem.

    The issue regarding naming misspelling or path symlinks.

    so that you need to link symlinks for nodejs with this command

    ln -s /usr/bin/nodejs /usr/bin/node 
    

    or

    sudo ln -s /usr/bin/nodejs /usr/bin/node
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search