问题
I am trying to run ng build
in my project folder, but I get the following response:
bash: ng: command not found
What am I missing? Does it have to do with admin privileges, my path/profile, or something I need to install globally?
This is my package.json
:
{
"name": "meanauthapp",
"version": "1.0.0",
"description": "MEAN stack authentication app",
"main": "app.js",
"scripts": {
"start": "node app"
},
"dependencies": {
"express": "4.16.2",
"mongoose": "4.13.6",
"bcryptjs": "2.4.3",
"cors": "2.8.4",
"jsonwebtoken": "8.1.0",
"body-parser": "1.18.2",
"passport": "0.4.0",
"passport-jwt": "3.0.1"
},
"author": "",
"license": "MIT",
"devDependencies": {
"@angular/cli": "^1.6.0"
}
}
回答1:
In case others come here with this issue as I have, here is how I solved it system-wide on MacOS. Hope this helps.
Verify node is installed:
$ node -v
v11.2.0
Verify npm is installed:
$ npm -v
6.4.1
Verify your npm global install file path is configured (known as prefix). Mine is under ~/.npm-packages:
$ npm config ls -l | grep prefix
prefix = "/Users/christiangroleau/.npm-packages"
If not, you can place it into your ~/.npmrc file:
echo prefix=~/.npm-packages >> ~/.npmrc
Verify that your prefix path is listed in your system PATH:
$ echo $PATH
/Users/christiangroleau/.npm-packages/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
If not, invoke the following:
export PATH="$HOME/.npm-packages/bin:$PATH"
Finally, you can reinstall angular-cli (in my case I needed to install it globally):
$ npm install -g @angular/cli
Verify installation:
$ ng -v
回答2:
try to uninstall and clean the cache.
npm uninstall -g @angular/cli
npm cache clean
npm install -g @angular/cli
回答3:
Try this:
node_modules/.bin/ng build
Or better, add a blank "ng": "ng"
line into your scripts
key in package.json and run this:
`npm run ng build`
You could also add this to your path:
export PATH=$PATH:./node_modules/bin
Which would let you run any binary in any npm project you might have.
回答4:
npm
doesn't recognize ng
command.
Try this command:
npm link @angular/cli
to link npm
and angular-cli
.
回答5:
You need to install the Angular CLI globally.
Run npm install -g @angular/cli
回答6:
Based on your comments to other answers: This npm issue might be related to your problem, your npm installation might be outdated.
First of check whether you use a recent version of node. Then update npm with npm i -g npm
as the issue suggests (near bottom). Then if ng
is still not found follow the update instructions of @angular/cli:
npm uninstall -g @angular/cli
npm cache verify
# if npm version is < 5 then use 'npm cache clean'
npm install -g @angular/cli@latest
回答7:
This was a pain to figure out, so here is my solution
1. npm install -g @angular/cli
2. Make sure the ng path is correct
* cd ~/npm-global/bin
* ls and make sure ng exists here!
3. create .bashrc or .bash_profile or .bash_everything file on your home directory with:
* touch ~/.bash_profile
open this file with text editor or Sublime or vi or etc.
* open -e .bash_profile
4. Add ng as alias
* writing this:
alias ng="~/npm-global/bin/ng" or alias ng="MyFullPAThere/npm-global/bin/ng"
* save file and close text editor.
5. Temporarily Update . bash_profile reference
Your terminal wont take bash updates until a restart but the following command will let you use the updates during the terminal session:
* source ~/.bash_profile
6. Check that ng works
* ng --version
Hope that helps someone!
来源:https://stackoverflow.com/questions/51511183/ng-command-not-found