# Node-sass problem with angular 7

**URL:** <https://discuss.circleci.com/t/node-sass-problem-with-angular-7/28422>\
**Category:** Build Environment\
**Tags:** circle-yml\
**Created:** [February 15, 2019, 8:52pm UTC](https://discuss.circleci.com/t/node-sass-problem-with-angular-7/28422 "2019-02-15T20:52:12Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![jenCape](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/jencape/32/9310_2.png) [@jenCape](https://discuss.circleci.com/u/jenCape)\
**Post date:** [February 15, 2019, 8:52pm UTC](https://discuss.circleci.com/t/node-sass-problem-with-angular-7/28422/1 "2019-02-15T20:52:13Z")

</div>

My team recently upgraded to angular 7, and now i’m running into problems with `node-sass` (but the same `circle.yml` file works fine for my coworkers on circle).

Original yml:

```auto
            - run:
                name: Install Angular
                command: sudo npm i @angular/cli -g

            - run:
                name: Install dependencies
                command: sudo npm install

            - run:
                name: Node Sass
                command: npm install node-sass@4.10.0

            - run:
                name: Rebuild Node Sass
                command: sudo npm rebuild node-sass

```

and circle failed with:

```auto
#!/bin/bash -eo pipefail
npm i node-sass@4.10.0
npm WARN checkPermissions Missing write access to /home/circleci/cloud-frontend/node_modules

```

changing `node-sass` command to `npm install node-sass@4.10.0`, results in the following error:

```auto
#!/bin/bash -eo pipefail
sudo npm i node-sass@4.10.0

> node-sass@4.10.0 install /home/circleci/cloud-frontend/node_modules/node-sass
> node scripts/install.js

Unable to save binary /home/circleci/cloud-frontend/node_modules/node-sass/vendor/linux-x64-57 : { Error: EACCES: permission denied, mkdir '/home/circleci/cloud-frontend/node_modules/node-sass/vendor'
    at Object.fs.mkdirSync (fs.js:885:18)
    at sync (/home/circleci/cloud-frontend/node_modules/mkdirp/index.js:71:13)
    at Function.sync (/home/circleci/cloud-frontend/node_modules/mkdirp/index.js:77:24)
    at checkAndDownloadBinary (/home/circleci/cloud-frontend/node_modules/node-sass/scripts/install.js:114:11)
    at Object.<anonymous> (/home/circleci/cloud-frontend/node_modules/node-sass/scripts/install.js:157:1)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
  errno: -13,
  code: 'EACCES',
  syscall: 'mkdir',
  path: '/home/circleci/cloud-frontend/node_modules/node-sass/vendor' }

```

then, with some research, i came along [this doc](https://github.com/sass/node-sass/blob/master/TROUBLESHOOTING.md#running-with-sudo-or-as-root), so I changed `node-sass` command to `sudo npm install --unsafe-perm -g node-sass@4.10.0` instead  
this time, i finally passed the dependency stage, but tests failed with:

```auto
ERROR in ./src/app/shared/alert/alert.component.scss
Module build failed (from ./node_modules/sass-loader/lib/loader.js):
Error: Cannot find module 'node-sass'

```

i’ve also tried other suggestions such as:

- `sudo npm rebuild node-sass --force`
- `npm clean cache --force`
- steps described in [https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally](https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally)

but circle builds always fail at either the installation stage (permission denied) or test stage (no module `node-sass`)

---

<div class="post-metadata">

**Author:** ![halfer](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/halfer/32/9083_2.png) [@halfer](https://discuss.circleci.com/u/halfer)\
**Post date:** [February 15, 2019, 9:05pm UTC](https://discuss.circleci.com/t/node-sass-problem-with-angular-7/28422/2 "2019-02-15T21:05:28Z")

</div>

I would guess that your first `npm` command has to be `sudo` because you are installing globally. I think the others should not be `sudo`, as you are installing locally. I seem to recall the default user is `circleci`, and if you use `sudo` that goes up to `root`. I expect the presence of root-owned files in your project is causing the write permission issues.

---

<div class="post-metadata">

**Author:** ![jenCape](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/jencape/32/9310_2.png) [@jenCape](https://discuss.circleci.com/u/jenCape)\
**Post date:** [February 21, 2019, 9:29pm UTC](https://discuss.circleci.com/t/node-sass-problem-with-angular-7/28422/3 "2019-02-21T21:29:18Z")

</div>

thanks for the insight! removing the `sudo` from the `npm install` (after removing the folder entirely) actually worked.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/circleci/original/3X/5/1/511608acda8e85906e15909b57bd0a46c1dbe291.png) [@system](https://discuss.circleci.com/u/system)\
**Post date:** [March 3, 2019, 9:41pm UTC](https://discuss.circleci.com/t/node-sass-problem-with-angular-7/28422/4 "2019-03-03T21:41:16Z")

</div>

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.
