run bower install for target bower.json file - javascript

Assume that my working directory is c:\foo\ during the script execution. I would like run bower from there for c:\foo\bar\bower.json file. This is available on npm by running npm install --prefix c:\foo\bar.
Is there any equivalent command in bower?

Add a .bowerrc file to c:\foo\ with the following contents:
{
"cwd": "bar
}
this will set the working directory for Bower to c:\foo\bar\.

Related

Can I add files to directories.bin dynamically through npm script BEFORE npm process the files inside directories.bin?

I'm trying to create a script that will download some binaries and put them in a folder e.g cli. That folder will be the same used on package.json for directories.bin:
...
"directories": {
"bin": "cli"
}
So I need a script (I've tried with preinstall) executing on npm install and BEFORE npm "copy" all the binaries inside cli folder to node_modules/.bin. Using preinstall doesn't work, it seems the files are added AFTER the cli folder is processed by npm

How to load library in JS repl in a yarn project?

I have a project with a package.json file, generated by YARN.
How can I load a js REPL and load a library that's specified in the package.json file?
With npm or with yarn you can download and install locally all the dependencies specified in a package.json file.
First thing is to run the install command:
my-project $ npm install
or
my-project $ npm install
This command is going to install locally all the dependencies in your package.json file.
Now you should have a new folder node_modules that contains all the code.
On a js file:
// index.js
const myLib = require('myLib')
Now you can work with the library.

Npm module not found

I'm running an Angular app built with Grunt and using Bower and NPM.
I tried installing my npm module locally. The files are in the main app directory in node_modules folder.
The module docs ask me to load the module with <script type="text/javascript" src="node_modules/moment/moment.js"></script>, but I get 404.
Am I missing something? Do I have to tell Grunt that I want these NPM modules?
Can you provide more information on what your app is built with? If node serves your app, you need to make the directory you link to public. Assuming you're using express, this would look something like this in your app.js file:
app.use('/node_modules', express.static(__dirname + '/node_modules/moment/moment.js'));
Edit:
Or if you just want to make it work, try to load moment.js from CDN like this:
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.js"></script>
Link to moment on CDN
Basically, npm is the package manager for all the javaScript frameworks such as Nodejs, angularjs etc. npm should be installed globally in the machine.You can install it from https://nodejs.org/en/ .
Next,you need check for the package.json file in your project.
If there is a package.json already existing in your project folder, then from command line you need to go to your project folder and type npm start.
If package.json file does not exist, then in the command line type npm init,then there will be a package.jsonfile created in your project folder.Then edit the package.json . and add the node packages into the package.json as similar way to this
{
"name": "shoppingkart",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www" //If you have any scripts.
},
"dependencies": {
"mongoose": "^4.9.0", // here you should have all your node_modules listed
"passport": "^0.3.2",
"stripe": "^4.15.1"
}
}
if you are not able to add the dependencies to json file, there is also another way to do it.
just go to your project directory in the command line and type
npm install --save grunt // And you need to do for all the node_modules, by replacing the **grunt**.
Automatically the dependency will be added to your package.json file.
If you installed your npm packages locally then your node_modules folder should found at the root of your project.
If you installed all your packages globally you may not see an npm_modules folder in your project.
To see where your global modules are located you can run
npm list -g
I faced the same issue just install the package globally and save at the end.
Like:
npm install -g <package> --save
Even the above doesn't work then use -f / --force at the end to force install.

NPM install + use local modules? on windows

I created a package.json and added the needed dependencies (grunt, bower, jasmine etc)
when I run
npm install
it correctly installs all the modules in
$pwd/node_modules/*
however when I try to USE those modules:
bower init; grunt init
i get
sh.exe: (bower / grunt / w.e) Command not found
I can solve this by using
npm install -g (package name)
but my understanding is the "-g" makes the install global? (is that correct?)
I want to be able to use the packages i installed locally...is this possible?
You can use npm run-scripts to create a command which will run the local copies of bower and grunt that you have installed.
In package.json, add a key like this:
"scripts": {
"init": "bower init; grunt init"
}
Then run the command npm run init.

Bower will not install packages when .bowerrc exists

I'm trying to install packages using Bower.
Without a .bowerrc file, it works. For example, bower install angular#1.0.6 will install nicely inside ./bower_components.
If there is a .bowerrc with { 'directory' : 'public/javascripts/vendor' }, bower install angular#1.0.6 will not work. Actually, the output of that command is nothing. It simply prints a blank line, then the next line is my terminal prompt. The package is not installed anywhere.
However, if there is an empty .bowerrc file, it will install the package inside ./bower_components.
Why is it not installing the packages and how can I fix it? (so they will install)
Additional info:
No bower command works. bower will fail similarly. bower help too. In fact, bower anything will too.
I just solved this. I uninstalled and reinstalled bower, and now it works. :S
sudo npm rm -g bower
sudo npm install bower -g
Now everything works fine!
The solution here is simple :
Install Bower in your public directory ( Not your app/node master directory )
For example, mynodeapp/public - npm install bower
Then, set up bower from this directory : bower init
Create your .bowercc file, and add to it :
{
"directory" : "vendor"
}
//Where vendor is your custom fldr
Thats it. Now whenever you run a bower install command from within the public directory, it will either create or save to that "vendor" directory.
Everyone seems to have trouble because they are installing Bower outside their public folder.
Try to run with -f flag (force)
bower -f install
I think that you should be reinstall the bower
npm rm -g bower
npm install bower -g

Categories

Resources