-bash:cordova:命令未找到; 或-bash:phonegap:命令未找到

ric*_*mat 44 cordova

我不会问一个问题,但回答一个问题,因为到目前为止我已经在网上发现了这个建议并且我自己已经想到了这个问题.分享好,对吧?


所以在命令行上,我这样做了:

sudo npm install -g cordova
sudo npm install -g phonegap
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,但当我然后运行以下任一行:

My-MacBook-Pro:~ username$ cordova
My-MacBook-Pro:~ username$ phonegap
Run Code Online (Sandbox Code Playgroud)

我收到了这些消息:

-bash: cordova: command not found
-bash: phonegap: command not found
Run Code Online (Sandbox Code Playgroud)

为什么?事实证明,我的/ usr/local/lib目录上的权限设置为"everyone:No Access".我将其更改为"所有人:只读"并再次尝试.

My-MacBook-Pro:~ username$ cordova
My-MacBook-Pro:~ username$ phonegap
Run Code Online (Sandbox Code Playgroud)

这次他们工作了!作为测试,我把它变回"每个人:无法访问",看看它是否真的是问题所在.这次我收到了不同的消息:

-bash: /usr/local/bin/cordova: Permission denied
-bash: /usr/local/bin/phonegap: Permission denied
Run Code Online (Sandbox Code Playgroud)

结果是一样的,我无法通过命令行调用cordova或phonegap(我包括最后两个拒绝消息,以防万一有人搜索它们).

Fra*_*rti 65

我在Mac Os Mountain Lion上.经过多次尝试,事实证明解决方案非常快.

在安装Cordova之前,请确保您是要安装到的文件夹的所有者.打开终端并输入:

sudo chown -R $USER /usr/local/lib/node_modules
sudo chmod -R 0775 /usr/local/lib/node_modules
npm install -g cordova
Run Code Online (Sandbox Code Playgroud)

如果您安装了新版本的node.js,您仍然可能会收到一些错误.尝试删除npm缓存:

sudo npm cache clear
npm install -g cordova
Run Code Online (Sandbox Code Playgroud)

然后输入cordova并祝你好运;)

编辑:这似乎也适用于Maverick,Yosemite,El Capitan和Sierra


Mat*_*ond 15

$Path通过在终端中运行以下命令来查看您的变量:

echo "$PATH" 
Run Code Online (Sandbox Code Playgroud)

如果您没有看到cordova尝试安装的路径相同,则需要修复安装位置.

跑:

 npm config get prefix
Run Code Online (Sandbox Code Playgroud)

OS X上的默认值是/usr/local,这意味着npm会将二进制文件符号链接到/ usr/local/bin,这应该已经在您的PATH上.如果您有不同的路径,请将npm配置为具有本地目录.

所以运行它将其更改为/usr/local:

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

它确实形成了我.积分转到:npm全局路径前缀


小智 11

您需要将"/ usr/local/share/npm/bin"目录添加到$ PATH变量中.打开终端/命令行并键入:

export PATH=$PATH:/usr/local/share/npm/bin
Run Code Online (Sandbox Code Playgroud)


Ira*_*man 9

这也发生在我身上。幸运的是找到了这篇很棒的文章:http : //blog.webbb.be/command-not-found-node-npm/

我将在这里总结一下。当 npm 安装到非标准位置且不在您的路径中时,可能会发生这种情况。

要检查 npm 的安装位置,请运行: npm root -g

它应该说 /usr/local/lib/node_modules

我的说 /Users/myusername/.npm-packages/lib/node_modules

要将其设置到正确的位置:

  • 跑: npm config set prefix /usr/local

  • 然后用 -g:npm install -g cordova等重新安装你的 npm 包


Tak*_*oft 5

对于Ubuntu用户,它位于 ~/.npm-global/bin

在其中添加以下行将~/.bashrc解决该问题。

export PATH=${PATH}:~/.npm-global/bin
Run Code Online (Sandbox Code Playgroud)


Lwy*_*yrn 0

您必须在 bash 文件中添加 cordova bin 的路径。

/etc/profile
~/.bash_profile
~/.bash_login   (if .bash_profile does not exist)
~/.profile      (if .bash_login does not exist)
Run Code Online (Sandbox Code Playgroud)

编辑文件后尝试关闭并重新打开终端。