ng: command not found

笑着哭i 提交于 2020-01-04 02:50:47

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!