找不到相关命令

Mat*_*ile 0 javascript npm vue.js vue-cli

一直在努力使我的第一个vue项目启动并正在寻求帮助。我的系统上同时更新了npm和node,但是不断出现相同的问题。

我的步骤:

1.)npm install
终端响应:

npm WARN mbasile@1.0.0尚无
最新描述 于0.095s

2.)npm install vue
终端响应:

npm WARN mbasile@1.0.0无描述+ vue@2.5.16
更新了0.951s中的1个程序包

这是时髦的地方?


3.)npm install -g @vue/cli
终端响应:

npm ERR!路径/Users/mbasile/.npm-global/lib/node_modules//node_modules/.bin
npm错误!代码EACCES
npm ERR!errno -13
npm错误!syscall rmdir
npm错误!错误:EACCES:权限被拒绝,rmdir'/Users/mbasile/.npm-global/lib/node_modules//node_modules/.bin'npm
错误!{错误:EACCES:权限被拒绝,rmdir'/Users/mbasile/.npm-global/lib/node_modules//node_modules/.bin'npm
ERR!原因:
npm错误!{错误:EACCES:权限被拒绝,rmdir'/Users/mbasile/.npm-global/lib/node_modules//node_modules/.bin'npm
ERR!errno:-13,
npm错误!代码:“ EACCES”,
npm错误!syscall:“ rmdir”,
npm错误!路径:'/Users/mbasile/.npm-global/lib/node_modules//node_modules/.bin'},
npm ERR!堆栈:'错误:EACCES:权限被拒绝,rmdir'/Users/mbasile/.npm-global/lib/node_modules//node_modules/.bin'',
npm ERR!errno:-13,
npm错误!代码:“ EACCES”,
npm错误!syscall:“ rmdir”,
npm错误!路径:'/Users/mbasile/.npm-global/lib/node_modules//node_modules/.bin'}
npm ERR!
npm ERR!请尝试以root / Administrator身份再次运行此命令。
npm ERR!可以在以下位置找到该运行的完整日志:
npm ERR!/用户/mbasile/.npm/_logs/2018-05-09T17_53_06_030Z-debug.log

因此,鉴于此响应,我运行了


4.) sudo npm install -g @vue/cli

终端响应:

/Users/mbasile/.npm-global/bin/vue-> /Users/mbasile/.npm-global/lib/node_modules//bin/vue.js
+ @ 3.0.0-beta.9
更新了6.597s中的1个程序包

5.)vue create vue-project 终端响应:

-bash:vue:找不到命令

这让我有些困惑和困惑,但是任何帮助/响应都将不胜感激。

小智 7

我也遇到了这个问题,找到解决方案有点棘手,所以我将介绍有助于我找到解决方案的所有步骤。

它解决了一个普遍问题,即npm中的全局包路径错误或shell变量中缺少路径$PATH

修复了macOS Mojave,但应该在所有UNIX系统上都可以使用

首先,在全局安装软件包后,npm将向您显示新软件包的安装位置。

$ npm i -g @vue/cli
/usr/local/Cellar/node/9.5.0/bin/vue -> /usr/local/Cellar/node/9.5.0/lib/node_modules/@vue/cli/bin/vue.js
Run Code Online (Sandbox Code Playgroud)

我们也可以在npm配置中检查它。

$ npm config get prefix
/usr/local/Cellar/node/9.5.0
Run Code Online (Sandbox Code Playgroud)

因此,如果在全局安装后您的终端无法识别该命令,则外壳变量$ PATH中可能缺少该命令。您可以轻松地检查它。

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Run Code Online (Sandbox Code Playgroud)

如我们所见,shell变量中没有npm config的路径$PATH

现在,我们有两个解决方案。

1.第一个选项-更改npm config

$ npm config set prefix '/usr/local'
$ npm config get prefix
/usr/local
Run Code Online (Sandbox Code Playgroud)

更改配置中的路径后,我们将必须重新安装所需的软件包。

$ npm i -g @vue/cli
Run Code Online (Sandbox Code Playgroud)

2.第二个选项-将路径从npm config添加到shell $ PATH

$ export PATH=$PATH:/usr/local/Cellar/node/9.5.0
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我们不需要再次安装该软件包。

无论选择哪个选项,我们现在都可以控制一切是否正常。

$  vue --version
3.0.5
Run Code Online (Sandbox Code Playgroud)