Yeoman generator always get some error - phantomjs

When I'm trying using yeoman web generator, although it's working, but looking through the whole generate progress, it always gives me some errors below, no matter what generator I used, they are always there.
npm ERR! phantomjs#1.9.7-6 install: `node install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the phantomjs#1.9.7-6 install script.
npm ERR! This is most likely a problem with the phantomjs package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node install.js
npm ERR! You can get their info via:
npm ERR! npm owner ls phantomjs
npm ERR! There is likely additional logging output above.
npm ERR! System Darwin 13.1.0
npm ERR! command "node" "/usr/local/bin/npm" "install"
npm ERR! cwd /Applications/MAMP/htdocs/DECO3800/test
npm ERR! node -v v0.10.28
npm ERR! npm -v 1.4.10
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Applications/MAMP/htdocs/DECO3800/test/npm-debug.log
npm ERR! not ok code 0
Just wondering why it would be like that, and how to solve it or it totally no affect to my built web project?

There seems to be a problem with the Bitbucket CDN at the moment.
You can use this as a temporary workaround:
PHANTOMJS_CDNURL=http://cnpmjs.org/downloads npm install phantomjs

The workaround mentioned is:
You can download the phantomjs zip manually here: https://bitbucket.org/ariya/phantomjs/downloads and move it to the dir npm wants to download it to.
Downloading http://cdn.bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.7-macosx.zip
Saving to /var/folders/fl/ssqg11_j1hs5mk4fvyqgjcmc0000gn/T/phantomjs/phantomjs-1.9.7-macosx.zip
.
.
Whenever you try to build your project the next time, phantomjs is already present and doesn't have to be downloaded, so the download will be skipped and your project will finish (unless another error is encountered).

I have the same problem and I have come across this thread where someone claims he found a workaround to a similar problem: https://github.com/Medium/phantomjs/issues/161
"Same here, got it working by downloading from https://bitbucket.org/ariya/phantomjs/downloads to the path that it tries to save it to. Has the bitbucket repo been switched between private/public recently?"
It looks like the phantomjs download is no longer valid (or similar); and the fact that many people are having the same issue at the same time suggests this is probably the case.
I don't know enough to advise you how to proceed but maybe this can point you in the right direction.

Got a similar problem using the following setup:
Windows 7 x64
node v0.10.32
npm v2.5.0
yeoman v1.3.2
grunt-cli v0.1.13
grunt-html-snap v0.6.1 (grunt-html-snapshots has the same problem)
grunt-lib-phantomjs v0.3.0 (a dependancy of grunt-html-snap(s) )
phantomjs v1.9.15 (a dependancy of grunt-lib-phantomjs(s) )
Of less importance:
bower v1.3.12
git v1.9.4.msysgit.2
Error:
phantomjs#1.9.15 install d:\TEST\a111\node_modules\grunt-html-s
napshot\node_modules\grunt-lib-phantomjs\node_modules\phantomjs
node install.js
Download already available at C:\Users\USER~1\AppData\Local\Temp\phantomjs\phan
tomjs-1.9.8-windows.zip
Extracting zip contents
Removing d:\TEST\a111\node_modules\grunt-html-snapshot\node_modul
es\grunt-lib-phantomjs\node_modules\phantomjs\lib\phantom
Copying extracted folder C:\Users\USER~1\AppData\Local\Temp\phantomjs\phantomjs
-1.9.8-windows.zip-extract-1424937053563\phantomjs-1.9.8-windows -> d:\SVN\DBITS
\Web\B-RAD\a111\node_modules\grunt-html-snapshot\node_modules\grunt-lib-phantomj
s\node_modules\phantomjs\lib\phantom
Writing location.js file
Phantom installation failed { [Error: EPERM, operation not permitted 'd:\SVN\DBI
TS\Web\B-RAD\a111\node_modules\grunt-html-snapshot\node_modules\grunt-lib-phanto
mjs\node_modules\phantomjs\lib\phantom\phantomjs.exe']
errno: 50,
code: 'EPERM',
path: 'd:\\SVN\\DBITS\\Web\\B-RAD\\a111\\node_modules\\grunt-html-snapshot\\no
de_modules\\grunt-lib-phantomjs\\node_modules\\phantomjs\\lib\\phantom\\phantomj
s.exe',
syscall: 'chmod' } Error: EPERM, operation not permitted 'd:\SVN\DBITS\Web\B-R
AD\a111\node_modules\grunt-html-snapshot\node_modules\grunt-lib-phantomjs\node_m
odules\phantomjs\lib\phantom\phantomjs.exe'
at Object.fs.chmodSync (evalmachine.<anonymous>:832:18)
at Object.chmodSync (d:\TEST\a111\node_modules\grunt-html-sna
pshot\node_modules\grunt-lib-phantomjs\node_modules\phantomjs\node_modules\fs-ex
tra\node_modules\graceful-fs\polyfills.js:141:17)
at Promise.validExit [as _successFn] (d:\TEST\a111\node_modul
es\grunt-html-snapshot\node_modules\grunt-lib-phantomjs\node_modules\phantomjs\i
nstall.js:145:8)
at Promise._call (d:\TEST\a111\node_modules\grunt-html-snapsh
ot\node_modules\grunt-lib-phantomjs\node_modules\phantomjs\node_modules\kew\kew.
js:373:13)
at Promise._withInput (d:\TEST\a111\node_modules\grunt-html-s
napshot\node_modules\grunt-lib-phantomjs\node_modules\phantomjs\node_modules\kew
\kew.js:333:25)
at Promise.resolve (d:\TEST\a111\node_modules\grunt-html-snap
shot\node_modules\grunt-lib-phantomjs\node_modules\phantomjs\node_modules\kew\ke
w.js:105:27)
at resolver (d:\TEST\a111\node_modules\grunt-html-snapshot\no
de_modules\grunt-lib-phantomjs\node_modules\phantomjs\node_modules\kew\kew.js:40
9:17)
at CB (d:\TEST\a111\node_modules\grunt-html-snapshot\node_mod
ules\grunt-lib-phantomjs\node_modules\phantomjs\node_modules\fs-extra\node_modul
es\rimraf\rimraf.js:68:5)
at Object.oncomplete (fs.js:107:15)
npm ERR! Windows_NT 6.1.7601
npm ERR! argv "c:\\Program Files\\nodejs\\node.exe" "c:\\Program Files\\nodejs\\
node_modules\\npm\\bin\\npm-cli.js" "install" "grunt-html-snapshot"
npm ERR! node v0.10.32
npm ERR! npm v2.5.0
npm ERR! code ELIFECYCLE
npm ERR! phantomjs#1.9.15 install: `node install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the phantomjs#1.9.15 install script 'node install.js'.
npm ERR! This is most likely a problem with the phantomjs package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node install.js
npm ERR! You can get their info via:
npm ERR! npm owner ls phantomjs
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! d:\TEST\a111\npm-debug.log
At first I thought I solved it with the fix I posted on github HERE. On this github issue post you can also find other possible solutions.
But when I tried to generate a new project a few weeks later, I ran into the same issue...
My generator executes the following install commands:
install: function () {
var self = this,
done = self.async();
self.log(msgStepStart('------- 7: Installing! -------'));
// ---------- Generate STRUCTURE : Installation of npm packages START ---------- //
self.npmInstall([
'grunt#0.4.5',
'grunt-contrib-clean#0.6.0',
'grunt-contrib-concat#0.5.0',
'grunt-contrib-connect#0.9.0',
'grunt-contrib-copy#0.7.0',
'grunt-contrib-cssmin#0.11.0',
'grunt-contrib-htmlmin#0.3.0',
'grunt-contrib-jshint#0.10.0',
'grunt-contrib-less#1.0.0',
'grunt-contrib-uglify#0.7.0',
'grunt-contrib-watch#0.6.1',
'grunt-html-snapshot#0.6.1',
'grunt-rev#0.1.0',
'grunt-text-replace#0.4.0',
'grunt-usemin#3.0.0',
'jit-grunt#0.9.0',
'jshint-stylish#1.0.0',
'load-grunt-tasks#2.0.0',
'lodash#2.4.1',
'request#2.42.0', // Dependancy: grunt-html-snapshot#0.6.1
'time-grunt#1.0.0'
], { 'save': true, 'saveExact': true }, function() {
done();
self.log(msgStepEnd('------- 7: I am done installing! -------'));
});
// npm save as save, saveDev or saveExact?
// --save: Package will appear in your dependencies.
// --save-dev: Package will appear in your devDependencies.
// --save-optional: Package will appear in your optionalDependencies.
// When using any of the above options to save dependencies to your package.json, there is an additional, optional flag:
// --save-exact: Saved dependencies will be configured with an exact version rather than using npm's default semver range operator.
// --save-dev-exact would be the sam as | { 'saveDev': true } => { 'saveDevExact': true }
// ---------- Generate STRUCTURE : Installation of npm packages END ---------- //
}
I also tried the phantomjs troubleshooting and none of them solved my problem.
Then when I tried to install phantomjs in an empty folder using the npm install command in gitbash and it installed without any error repeatedly.
$ npm install phantomjs
OR
$ npm install phantomjs#v1.9.15
When I did this with grunt-lib-phantomjs, it got the same error 3 times out of 10.
$ npm install grunt-lib-phantomjs
OR
$ npm install grunt-lib-phantomjs#0.3.0
And when I did this with grunt-html-snapshot, it got the same error 10 times out of 10.
$ npm install grunt-html-snapshot
OR
$ npm install grunt-html-snapshot#0.6.1
This got me thinking. I installed phantomjs with npm on a new folder and ran my generator. This resulted in an installation without errors 10 out of 10.
To let the generator handel the complete installation I added the installation of phantomjs under the conflicts method priority of the generator to be shure it got installed before the installation of the other npm installs.
conflicts: function () {
var self = this,
done = self.async();
self.log(msgStepStart('------- 6: Handeling Conflicts! -------'));
self.npmInstall([
'phantomjs#1.9.15',
], {}, function() {
done();
self.log(msgStepEnd('------- 6: I handled the conflicts! -------'));
});
},
This fixed my problem completely, hope it is helpful for someone else to.
P.S.:
If you use any kind of versioning control that leaves out the installed node_modules for the deployed project. You might consider using the following in your end method priority of your generator.
end: function () {
var self = this,
done = self.async();
self.log(msgStepStart('------- 8: End! -------'));
self.spawnCommand('npm dedupe').on('exit', function(){
self.spawnCommand('npm shrinkwrap').on('exit', function(){
self.log();
self.log(clc.green('!') + clc.whiteBright(' Successfully created ') + clc.cyan(self.appTitle));
self.log(clc.green('!') + clc.whiteBright(' To see your site, run:'));
self.log('\t' + clc.yellowBright('grunt serve'));
self.log();
done();
self.log(msgStepEnd('------- 8: The End! -------'));
});
});
}
This combo will result in a deduplicated installation with fixed versions on the main and dependency levels.
This will also keep the jsphantom install on the main level and not as a dependency to avoid the error discussed. And thus will result in a clean install when you downloaded a versioned project without the node_modules folder using:
$ npm install
npm dedupe docs
npm shrinkwrap docs

Related

Got errs with puppeteer and node-sass running npm i

I have a double problem.
The work environment is in Vue and Nuxt, with a mac M1 pro.
Until last week, I had no problems, everything was running perfect. They changed my mac and the world stopped running.
I download 2 repos, but when running npm i, one explodes with puppeteer and the other with node-sass.
npm ERR! code ELIFECYCLE npm ERR! error 1 npm ERR! puppeteer#8.0.0 install:nodeinstall.js npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the puppeteer#8.0.0 install script.
npm ERR! code ELIFECYCLE npm ERR! error 1 npm ERR! node-sass#4.14.1 postinstall: node scripts/build.js npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the node-sass#4.14.1 postinstall script.
I am using the correct version of Node.
I tried deleting the package-lock.json and the node_modules, clearing the npm cache, and running npm i again, and no, it breaks.
I tried installing those specific packages outside of npm i, and I get the same error.
I tried creating a .npmrc file with
registry=https://registry.npmjs.org always-auth=true //registry.npmjs.org/: "token"
I am using the same package.json and the same repos as my peers. They also have mac M1 and have no problem.
On Github we have the same permissions.
Any idea what is happening?
Thank you very much in advance \o/
You can use sass instead of node-sass. This is because node-sass has been deprecated.
npm uninstall node-sass
npm install sass
Works all the same, no need to make any other changes

Vue: npm run serve crashes when a broken link is added

I have just started using Vue 3.
The npm run serve command works normally. However, once a broken link is added to the folder that npm is tracking, the npm run serve command crashes completely. It used to show any errors in the compiled Vue code and still keep running.
After removing the link, the npm run serve command can be run again to compile a working Vue project.
The crash log is as follows:
node:internal/process/promises:225
triggerUncaughtException(err, true /* fromPromise */);
^
[Error: ENOENT: no such file or directory, stat '/home/brandsma/main/work/projects/vue/portfolio_main/portfolio/src/components/.#navigation.vue'] {
errno: -2,
code: 'ENOENT',
syscall: 'stat',
path: '/home/brandsma/main/work/projects/vue/portfolio_main/portfolio/src/components/.#navigation.vue'
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! portfolio#0.1.0 serve: `vue-cli-service serve`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the portfolio#0.1.0 serve script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/brandsma/.npm/_logs/2020-12-25T13_56_54_511Z-debug.log
It seems to be a problem with the stat command crashing after automatically trying to follow the broken link: .#navigation.vue.
.#{filename}.vue is a link/file created by spacemacs whenever a file is edited.
npm version:
6.14.10
Vue version:
#vue/cli 4.5.9
Anyone have any ideas how to fix this?
You can configure Webpack's dev server to ignore these files:
// vue.config.js
module.exports = {
devServer: {
watchOptions: {
ignored: ['**/.#*.vue', 'node_modules/**']
}
}
}

Nuxt.js: fsevents is not a constructor

I'm using MacOS Mojave 10.14.5. When I run 'npm run dev' command where the nuxt starter package is located, I have 'fsevents' error, and the server doesn't work.
I already reinstall node and npm several times, but it doesn't work.
Here's an error:
/Users/kimgyun/Desktop/nuxt_test_folder/nuxt_test_b/node_modules/watchpack/node_modules/chokidar/lib/fsevents-handler.js:28
return (new fsevents(path)).on('fsevent', callback).start();
^
TypeError: fsevents is not a constructor
at createFSEventsInstance (/Users/kimgyun/Desktop/nuxt_test_folder/nuxt_test_b/node_modules/watchpack/node_modules/chokidar/lib/fsevents-handler.js:28:11)
at setFSEventsListener (/Users/kimgyun/Desktop/nuxt_test_folder/nuxt_test_b/node_modules/watchpack/node_modules/chokidar/lib/fsevents-handler.js:82:16)
at FSWatcher.FsEventsHandler._watchWithFsEvents (/Users/kimgyun/Desktop/nuxt_test_folder/nuxt_test_b/node_modules/watchpack/node_modules/chokidar/lib/fsevents-handler.js:252:16)
at FSWatcher.<anonymous> (/Users/kimgyun/Desktop/nuxt_test_folder/nuxt_test_b/node_modules/watchpack/node_modules/chokidar/lib/fsevents-handler.js:386:25)
at LOOP (fs.js:1570:14)
at process._tickCallback (internal/process/next_tick.js:61:11)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! nuxt_test_b#1.0.0 dev: `nuxt`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the nuxt_test_b#1.0.0 dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/kimgyun/.npm/_logs/2019-06-06T02_11_18_374Z-debug.log
How can I run this nuxt.js server without this error?
It's a problem with fs events, and a rather annoying one at that. Specifically this happens when you're using Node 12.
You'll need to install fsevents#1.2.9 explicitly:
npm i fsevents#1.2.9 -D
or
yarn add fsevents#1.2.9 -D
This should work for you at this point.

npm install package.js - can I revert to earlier package?

I am following this tutorial on vue.js on YouTube. One of the packages I installed was eslint 5.5 (which is the current version). I saw this error message:
npm ERR! Failed at the server#1.0.0 lint script 'eslint **/*.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the server package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! eslint **/*.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs server
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls server
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /home/jason/Documents/vue-movie/server/npm-debug.log
I tried updating Node and NPM, but that did not change this failure. The tutorial is using "^4.6" and I was wondering if there is a way to revert the package I have to an earlier version? And how would I do that?

How to install eslint-airbnb?

when i run
(
export PKG=eslint-config-airbnb;
npm info "$PKG#latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /#/g' | xargs npm install --save-dev "$PKG#latest"
) successfully. eslint --init and run the script in package.json.
Info : my Node node v7.5.0 npm 4.1.2
there is problem below.
npm ERR! Darwin 15.6.0
npm ERR! argv "/Users/next/.nvm/versions/node/v7.5.0/bin/node"
/Users/next/.nvm/versions/node/v7.5.0/bin/npm" "run" "lint"
npm ERR! node v7.5.0
npm ERR! npm v4.1.2
npm ERR! code ELIFECYCLE
npm ERR! beslint#1.0.0 lint: `eslint app.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the beslint#1.0.0 lint script 'eslint app.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the beslint package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! eslint app.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs beslint
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls beslint
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /Users/next/es6/jsmodules/beslint/npm-debug.log
Are you sure that running eslint --init worked ?
This is like you have no .eslintrc file (the configuration file for ESLint parser options and rules). Check/create the .eslintrcfile at the root directory of your project that you called "beslint".
Then you'll need to add this in the .eslintrcfile in order that ESLint take into account that you want to extend the rules from the Airbnb team:
{
"extends": "airbnb"
}
Note that you can install different rules from the Airbnb team:
"airbnb": Airbnb ESLint rules, including ECMAScript 6+ and React
"airbnb-base": Airbnb ESLint rules, including ECMAScript 6+
"airbnb-base/legacy": Airbnb ESLint rules, including ECMAScript 5 and below
The extends value in your .eslintrc file should match your installation and be one of these three previous values.
I made a little command line tool that can install ESLint with one of these three different Airbnb configs. It automatically creates and configure the .eslintrc file if it has not already been done. It helps me a lot on my personal projects and at work! It's called esbnb. Hope it could help you.