build dev failed: Cannot set property 'fileSystem' of null - linux

I am on Linux Debian
I had this error a few times
I tried to install uninstall with npm install and npm uninstall
ionic -v
2.1.14
> ionic-app-scripts serve
[11:15:49] ionic-app-scripts 0.0.47
[11:15:49] watch started ...
[11:15:49] build dev started ...
[11:15:49] clean started ...
[11:15:49] clean finished in 3 ms
[11:15:49] copy started ...
[11:15:49] transpile started ...
[11:15:51] transpile finished in 2.19 s
[11:15:51] webpack started ...
[11:15:51] build dev failed: Cannot set property 'fileSystem' of null
[11:15:51] dev server running: http://localhost:8100/
My problem is different I installed ionic-app-scripts 0.0.47 like I read in the others answers but it doesn't work I have also tried
#ionic/app-scripts#latest but it doesn't work I have this error
build dev failed: Cannot set property 'fileSystem' of null

Install this : "#ionic/app-scripts": "1.0.0" version of app-scripts in your package.json.
This error came after npm update or ionic lib update (I wanted to test these commands... BIG MISTAKE).
Be careful with lib update.

Related

How to make docker build (& Docerfile) respect the node version I set in package.json?

Our Node.js project requires Node version 14 or higher, so I set that in the package.json
"engines": {
"node": ">=14"
}
But the Dockerfile (some other developer wrote it) did not respect that, it looks like these
FROM node:12-alpine3.14
COPY package*.json ./
ENV NODE_ENV production
# RUN npm install -g npm#latest
RUN npm install
...
docker build succeeded but docker run failed exactly because of node 12.
How can I make docker build respect the nodejs version I set in the package.json?
Please note that the problem is easily fixed by just update FROM node:14-alpine3.14. But that is not my question is about. For example, say in the future the project needs node16 and we update that in package.json but forget to update the Dockerfile, I need a way to make docker build failed for that reason.
I think make docker build failed is probably the only way (refer to Make docker build fail if tests fail too).
So I find 2 ways to do that.
A) By using RUN yarn instead of RUN npm install in the Dockerfile, so yarn will issue the error and docker build failed. Then by checking the failed message someone who builds the docker image will know the dockerfile needs to update.
#11 The engine "node" is incompatible with this module. Expected version ">=14". Got "12.22.8"
#11 1.363 error Found incompatible module.
#11 1.364 info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
------
executor failed running [/bin/sh -c yarn]: exit code: 1
B) Create a .npmrc and set engine-strict=true so npm install will fail. Check How to specify/enforce a specific node.js version to use in package.json?

/.bin/webpack Webpack command not found after Node nvm update in prod env

After upgrading my project from using Node v5.0.0 to 6.10.2 (via nvm), my Travis build is now failing with the error:
/home/travis/build/Widen/gray-wolf/node_modules/.bin/webpack --config config/webpack.config.js -p
make: /home/travis/build/Widen/gray-wolf/node_modules/.bin/webpack: Command not found
make: *** [webpack] Error 127
In our MAKE scripts, the commands ultimately being called are as followed:
npm install (this does not seem to be failing)
$(NPM_BIN)/webpack --config config/webpack.config.js -p
Following npm install, one of the lines is:
webpack#2.3.3 node_modules/webpack before the webpack command fails
The ways where this is not failing are
nvm version is set to 5.0.0 instead of 6.10.2
It's in a stage environment instead of prod environment
The initial failure happened alongside a large amount of updated dependencies, so I limited the change to only update Node with nvm with the following commands in my .travis.yml file:
install:
- . $HOME/.nvm/nvm.sh
- nvm install 6.10.2
- nvm use 6.10.2
The only difference being the version number. Following that failure, I'm getting another similar failure with eslint. It seems likely that the failures have the same cause.
make: /home/travis/build/Widen/gray-wolf/node_modules/.bin/eslint: Command not found
If you are in a prod environment but the travis flag of IS_CI is set to true, use the (deprecated) --production=false flag.

Webpack failed to compile npm start

I got a project that I need to work on. I forked the project from gitlab, unzipped it into my workspace folder, ran terminal and the following commands
node --version
npm --version
npm install
npm init
npm start
This should have installed all devDependencies (I turned production to false) and the server should be up and running. However, I'm getting the following error
`ERROR in .//src/client/index.js
Module build failed: Error: No ESLint configuration found.
at getLocalConfig ((dir)\node_modules\eslint\lib\config.js:162:35)
at Config.getConfig ((dir)\node_modules\eslint\lib\config.js:259:26)
at processText ((dir)\node_modules\eslint\lib\cli-engine.js:224:33)
at CLIEngine.executeOnText ((dir)\node_modules\eslint\lib\cli-engine.js:754:26)
at lint ((dir)\node_modules\eslint-loader\index.js:44:31)
at Object.module.exports ((dir)\node_modules\eslint-loader\index.js:181:3)
webpack: Failed to compile.`
I do have a eslintrc both on root dir and /src/client. What am I missing here ?

Node-sass error (try reinstalling)

I'm trying to build a front-end server and when I run grunt I get this error with a suggestion to reinstall node-sass.
Aborted due to warnings.
dev#ubuntu:~/ideaProjects/web-app$ grunt app:dashboard/dev-dashboard --force
Loading "sass.js" tasks...ERROR
Error: `/home/dev/ideaProjects/web-app/node_modules/grunt-sass/node_modules/node-sass/bin/linux-x64-v8-3.28/binding.node` is missing.
Try reinstalling `node-sass`?
The weird thing is that the file (binding.node) does exist, but it is in a folder named 'linux-x64-v8-3.14' not, 3.28. I tried naming the folder 3.14 that didn't work. I've tried everything I can thing of to get this fixed, npm install node-sass, npm update, even cleaning out the project and running npm install on a fresh build. But to no avail. I repeatedly get this error.
Has anyone seen this or know how to fix this? I am running Ubuntu 14.04 x64
Thanks!
I ran into basically the same error on Debian Linux with gulp-sass(basically same thing as grunt-sass but for gulp... both are just wrappers for the respective tool around node-sass which is a nodejs port of the actual SASS compiler libsass).
The node-sass project mentions in their README.md that only binaries for "popular platforms"(apparently Windows/Mac) are included and you may need to build for other platforms.
I was able to resolve the issue by explicitly re-running the install and build scripts for node-sass directly on the Debian machine. Here are roughly the steps:
From a command prompt on your linux machine, cd to your project directory
cd to the node-sass directory within your project source. Probably something like cd node_modules/grunt-sass/node_modules/node-sass based on your original post
node scripts/install.js
node scripts/build.js
Should see a message like Binary is fine; exiting.. This will have added the correct node-sass binary for the platform the scripts were run on.
Try to run your grunt build again and hopefully it should work!
I just ran npm install to install the project dependencies. Is there >something else I should run?(I'm new to web development. I'm a java/android >developer)
I do not thinks so. A basic set up, a project folder:
.
├── Gruntfile.js
├── node_modules
└── sass
└── main.scss
Gruntfile.js contains:
module.exports = function (grunt) {
grunt.loadNpmTasks('grunt-sass');
grunt.initConfig({
sass: {
options: {
sourceMap: true
},
dist: {
files: {
'css/main.css': 'sass/main.scss'
}
}
}
});
grunt.registerTask('default', ['sass']);
}
then run:
npm install grunt-sass
Now you should be able to run:
grunt
the above outputs now:
Running "sass:dist" (sass) task
Done, without errors.
Notice that the npm install grunt-sass commands should output something like that shown below, possible related to your error:
/
> node-sass#3.1.2 install /home/testdrive/sassgrunt/node_modules/grunt-sass/node_modules/node-sass
> node scripts/install.js
Binary downloaded and installed at /home/testdrive/sassgrunt/node_modules/grunt-sass/node_modules/node-sass/vendor/linux-x64-14/binding.node
> node-sass#3.1.2 postinstall /home/testdrive/sassgrunt/node_modules/grunt-sass/node_modules/node-sass
> node scripts/build.js
` /home/testdrive/sassgrunt/node_modules/grunt-sass/node_modules/node-sass/vendor/linux-x64-14/binding.node ` exists.
testing binary.
Binary is fine; exiting.

Can't run yeoman application with grunt, cdnify.js

I've project to join so I cloned repo from git. I have installed npm install and then bower install, but when I try to run the app with grunt serve command, console returns this:
Loading "cdnify.js" tasks...ERROR
>> Error: Cannot find module 'chalk'
Running "serve" task
Running "clean:server" (clean) task
Running "wiredep:app" (wiredep) task
Warning: ENOENT, no such file or directory '/home/tomek/dev/mobilas/app/bower.json' Use --force to continue.
Aborted due to warnings.
The thing is, I shouldn't really change neither Gruntfile.js nor bower.json file.
Link I referenced in comment above fixed it for me... just had to run
npm install chalk
in the project directory as a work around until they get one of the grunt dependencies fixed.
Running below commands should fix your errors...
$cd /home/tomek/dev/mobilas
$rm -rf node_modules
$npm install
Now you should be able to run your app with $grunt serve command

Resources