I'm fairly new to Gulp and I can't overcome one issue.
I need to install my dependencies globally (not locally), so I've done npm -g install & also tried to install them all separately with -g flag.
Anyway, SASS works, Coffee works, everything works, but when I run "gulp" i get:
module.js:338
throw err;
^
Error: Cannot find module 'gulp-plumber'
Checking if it's installed:
npm list -g gulp-plumber
/usr/local/lib
└── gulp-plumber#1.0.1
Looks a-okay.
Checking SASS the same way:
npm list -g gulp-sass
/usr/local/lib
└── gulp-sass#2.1.0
If they're both installed why my gulp "can't see" plumber alone? How do I fix that?
Please try below command it should work.
npm set registry http://registry.npmjs.org/
Related
I just installed NPM. I don't know what to do. I've checked it all afternoon. Help me. Thank you. I've reinstalled it several times and tried many solutions. It's not easy.
I've tried the following
npm rebuild node-sass
npm install npm -g
sudo npm install -g npm
npm install -g npm
npm cache clear
npm cache verify
Npm install -g bower
Whatever I type, he answers me
Error: ENOENT: no such file or directory, mkdir 'E:\'
I'm really upset. Please help me
I've seen people say that re downloading can solve the problem. But clean up the registry. So I did it according to the plan, uninstalled node, downloaded regclean pro, and cleaned the registry. But it's still useless. I'll check the others. I sincerely look forward to your help.
The problem has been solved. I also tried to modify D: \ nodejs \ node_ Under modules \ NPM
. npmrc file.
Finally, modify the. Npmrc file under C: \ users \ administrator
prefix=D:\ node.js \node_ global
cache=D:\ node.js \node_ cache
registry= http://registry.cnpmjs.org/
python=python2.7
msvs_ version=2015
It's done
Tearing my hair out over this.
I used to have a npm package called 'eleventy' installed globaly and working on my laptop. Today I find this: fish: Unknown command 'eleventy'
Tried this npm install -g eleventy and got this
+ eleventy#0.2.0
updated 1 package in 0.289s
Things tried from other posted questions:
npm get prefix outputs /usr/local
ls /usr/local/lib/node_modules/ outputs eleventy npm
but not eleventy found in /usr/local/bin
echo $PATH = /usr/local/php5/bin/ /usr/local/bin /usr/local/lib /usr/bin /bin /usr/sbin /sbin
Tried reinstalling npm and nodejs as well but no luck so far. Any help appreciated.
Okay, looks like I'm an idiot. I was installing the wrong package with a similar name.
I needed to use
npm install -g #11ty/eleventy
All my npm packages work, but my npm package list shows empty. I am sure this is issue with a path but not sure how to fix it.
Which gulp gives me >
[~] ruby-2.2.3 $ which gulp
/usr/local/bin/gulp
Which npm gives me >
[~] ruby-2.2.3 $ which npm
/usr/local/bin/npm
npm list gives me >
[~] ruby-2.2.3 $ npm list
/Users/kimmo
└── (empty)
It looks like you are confusing packages that are installed globally with those locally. The paths for gulp and npm look like the global install locations. Packages you install locally will be found under a node_modules folder in the root of your project.
You can confirm this by comparing the results from:
npm ls -g --depth=0
npm ls --depth=0
The first command will show the globally installed packages. The second will show the local packages.
At the top of the resulting output, each shows the directory where the global or local install is located.
Finally, the --depth=0 flag only shows the packages that were required and not the dependencies of those packages (and those packages, etc). I find that most of the time, that's all I care about. If you agree, you can easily make this a default with npm config set depth 0 or by editing your .npmrc file in your home directory.
So! My guess is that you installed gulp with the -g flag but you haven't installed anything locally (with no flag, so to speak). That's why there's a difference between what which is showing and npm ls is showing.
I have a problem with Yeoman generators. They install just fine if I run "npm install [generator-name] -g". However when I try to run "yo [generator-name] yeoman can't seem to find the generator. Neither is it listed among my other generators if I just run "yo". I've tried a bunch of generators and the result is always the same.
After a bit of bit of investigation I found that the downloaded generator is placed in
/usr/local/lib/node_modules/
But my other generators are placed in
/usr/local/lib/share/npm/lib/node_modules/
Here is an image of how it looks on my machine http://i.imgur.com/DxWTYHb.png, I'm running OSX in case that matters. Looks like something is wrong to me - but I cannot figure it out.
Not sure if this helps, but brew doctor and $NODE_PATH return nothing while $PATH returns:
-bash:
/usr/local/share/npm/bin:
/Users/marcus/.rvm/gems/ruby-2.0.0-p247/bin:
/Users/marcus/.rvm/gems/ruby-2.0.0-p247#global/bin:
/Users/marcus/.rvm/rubies/ruby-2.0.0-p247/bin:
/Users/marcus/.rvm/bin:
/usr/bin:
/bin:
/usr/sbin:
/sbin:
/usr/local/bin:
/usr/local/git/bin: No such file or directory
UPDATE
I tried what Eddie Monge Jr suggested and now my angular generator works fine. However when I installed another generator (chrome-extension) yeoman insists that it's not installed/found.
When I run ls $(npm config get prefix)/lib/node_modules I get this:
bower generator-mocha
generator-angular grunt-cli
generator-chrome-extension npm
generator-karma yo
And npm list -g returns this (I cut out a lot of generic stuff)
/usr/local/lib
├─┬ bower#1.2.3
├─┬ generator-angular#0.4.0
│ └─┬ yeoman-generator#0.13.3
├─┬ generator-chrome-extension#0.2.3
│ └─┬ yeoman-generator#0.12.3
├─┬ generator-karma#0.5.0
│ └─┬ yeoman-generator#0.13.3
├─┬ generator-mocha#0.1.1
│ └─┬ yeoman-generator#0.10.5
├─┬ grunt-cli#0.1.9
├─┬ npm#1.3.5
└─┬ yo#1.0.0
The strange part for me is if I run yo --help I get a strange list of generators
[?] What would you like to do?
[ ] Run the Angular generator
[ ] Run the Foundation generator
[ ] Run the H5bp generator
[X] Run the Mocha generator
[ ] Run the Webapp generator
[ ] Run the Karma generator
[ ] Update your generators
[ ] Install a generator
[ ] Find some help
[ ] Get me out of here!
I tried installing Yeoman on an Ubuntu precise32 vagrant vm. I ran into the same problem: Yeoman did not find the generators I installed, although there were no errors during the installation of these generators. Files were in place and permissions seemed alright.
The above solutions didn't work for me.
I ran
yo doctor
to see what was wrong, and as it turned out, the following was the problem:
[Yeoman Doctor] Uh oh, I found potential errors on your machine
---------------
[Error] NPM root value is not in your NODE_PATH
[info]
NODE_PATH = /usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript
NPM root = /home/vagrant/npm/lib/node_modules
[Fix] Append the NPM root value to your NODE_PATH variable
Add this line to your .bashrc
export NODE_PATH=$NODE_PATH:/home/vagrant/npm/lib/node_modules
Or run this command
echo "export NODE_PATH=$NODE_PATH:/home/vagrant/npm/lib/node_modules" >> ~/.bashrc && source ~/.bashrc
The fix suggested by the Yeoman Doctor worked as advertised.
I hit this issue and I'm hoping it will help someone.
I believe upgrading NPM caused this initial issue for me.
/usr/local/lib/node_modules
Was the location of a lot of my modules in the past. Since upgrading node at some point, the directory became
/usr/local/share/npm/lib/node_modules
When I would run new installations such as:
npm install -g grunt-cli
I since I run grunt from the command line it wouldn't 'find' it (that's because it wasn't in my new node_modules dir). I set up this up in my .bash_profile:
export PATH=$PATH:/usr/local/share/npm/bin
Now I am pointing to the new node_modules directory
So all the new npm modules I install find the right location: /usr/local/share/npm/lib/node_modules
But not yo
I ran a which yo and my path was
/usr/local/bin/yo
This binary was pointing to the OLD node_modules installation #
/usr/local/lib/node_modules
My solution was to do this
rm /usr/local/bin/yo
npm remove -g yo
The old reference to yo is gone for keeps, now I can do
npm install -g yo
This will add it to the new node_modules location
/usr/local/share/npm/lib/node_modules
and now the new 'yo' references the proper node_modules installation base
source ~/.bash_profile
then we can see yo is referenced from the proper spot
which yo
/usr/local/share/npm/bin/yo
all future generators will be placed in the proper node_modules directory and yo will be able to find them without a problem!
I uninstalled yeoman entirely, then re-installed it
npm remove -g yo
npm install -g yo
This fixed my problem with missing angular generators.
Sounds like your npm may be out of whack. Check where things are installed:
npm config get prefix
Is that where you expected the packages to install? Is that where they are currently installed?
To list whats in there:
ls $(npm config get prefix)/lib/node_modules
That will list out the globally installed npm packages.
npm list -g
Will list the currently installed things. Make sure yo and the generators are listed at the top level.
To remove the yo stuff and start over:
npm remove -g yo generator-* yeoman-generator
npm install -g yo generator-angular
That should fix things.
Under Windows, I am getting the following error when I run grunt on my project:
Unable to find "grunt.js" config file. Do you need any --help?
I have exactly the same configuration as my mac and its failing - anyone seen this?
Here's what I did to fix this:
Uninstalled grunt globally:
npm uninstall -g grunt
Installed grunt-cli globally:
npm install -g grunt-cli
Then, in project root dir:
npm install
And all is good. Hope this works for anyone else running into this.