不能运行离子。收到“没有命令'离子'发现”

时间:2014-08-04 21:20:00

标签: node.js ubuntu ionic-framework

我想开始使用离子框架,但不幸的是我已经在第一步失败了。

我正在运行Ubuntu 13.04并且安装了节点v0.10.25。 我已按照他们的文档描述安装了离子:

sudo npm install -g cordova
sudo npm install -g ionic

安装顺利,没有错误或警告,但在安装后我输入

ionic

我收到错误:

No command 'ionic' found, did you mean:
 Command 'ionice' from package 'util-linux' (main)
 Command 'sonic' from package 'sonic' (universe)
ionic: command not found

我对ubuntu很陌生,所以我可能没有正确配置,但我无法找到。

由于

13 个答案:

答案 0 :(得分:34)

对于你们中的一些人来说,上面的两个答案可能不起作用。对于您未看到“XX”命令的情况,这是一个更通用的解决方案

首先检查您的npm rootnpm root -g npm root -g的结果应该类似于"/usr/local"。 如果不是,那么你找到了你的问题。

改变它:

npm config set prefix /usr/local

然后npm root -g会给你类似/usr/local/lib/node_modules的内容 。 然后继续使用-g重新安装所有内容 你会很高兴去的!

答案 1 :(得分:20)

我终于找到了。

离子装置位于/ home / guy / npm / bin / ionic,而不是/ usr / bin / ionic应该是。

解决它:

sudo ln -s /home/guy/npm/bin/ionic /usr/bin/ionic

谢谢!

答案 2 :(得分:9)

在尝试将npm的全局库目录更改为他们有权写入的文件夹之后,可能会遇到此问题,以便能够安装没有root权限的全局库。

在这种情况下,您可能忘记将新文件夹添加到PATH环境变量中。

可以找到修复权限的整个过程here

如果源消失在这里是步骤的副本:

  

有些时候你不想改变所有权   npm使用的默认目录(即/ usr),因为这可能会导致一些   问题,例如,如果您与其他用户共享系统。

     

相反,您可以将npm配置为使用其他目录   共。在我们的例子中,这将是我们的主文件夹中的隐藏目录。

     
      
  1. 为全局安装创建目录:

         

    mkdir ~/.npm-global

  2.   
  3. 配置npm以使用新目录路径:

         

    npm config set prefix '~/.npm-global'

  4.   
  5. 打开或创建〜/ .profile文件并添加以下行:

         

    export PATH=~/.npm-global/bin:$PATH

  6.   
  7. 返回命令行,更新系统变量:

         

    source ~/.profile

  8.         

    测试:全局下载包而不使用sudo。       npm install -g jshint

         

    您也可以使用相应的ENV变量(例如,如果您不想修改),而不是步骤2-4   ~/.profile):

         

    NPM_CONFIG_PREFIX=~/.npm-global npm install -g jshint

如果您只是按照这些步骤重新安装所有全局库,那么它很可能会开始为您工作......

请记住,如果你这样做,你会将全局库保存到步骤1中创建的文件夹中,而不是/ usr / local中的默认位置或只是/ usr(取决于你的操作系统风格,我猜?)

答案 3 :(得分:8)

我遇到了同样的问题。

我通过cd解决了问题。然后以root admin身份安装ionic。

$ sudo npm install -g cordova ionic

然后运行

$ ionic

看它是否正常工作。

希望有所帮助

答案 4 :(得分:3)

我最近遇到了这个问题,唯一对我有用的解决方案是卸载 离子和cordova。

npm uninstall -g cordova
npm uninstall -g ionic

然后重新安装

npm install -g cordova
npm install -g ionic 

答案 5 :(得分:1)

我遇到了与“bash:ionic:command not found”相同的问题, 然后我补充道:

%USERPROFILE%\AppData\Roaming\npm

到我的环境变量的路径,然后我重新安装了离子和cordova,它开始工作。

答案 6 :(得分:0)

这对我有用。尝试在mac OSX el capitan用户的下面添加〜/ .bash_profile:

NPM_PACKAGES="${HOME}/.npm-packages"

NODE_PATH="$NPM_PACKAGES/lib/node_modules:$NODE_PATH"

PATH="$NPM_PACKAGES/bin:$PATH"
# Unset manpath so we can inherit from /etc/manpath via the `manpath`
# command
unset MANPATH # delete if you already modified MANPATH elsewhere in your config
MANPATH="$NPM_PACKAGES/share/man:$(manpath)"

然后运行source ~/.bash_profile以在终端重新加载配置文件。

其他信息:node v4.3.1

答案 7 :(得分:0)

在我的情况下,我刚刚卸载了离子,然后重新安装了它。它现在工作正常。

答案 8 :(得分:0)

我也面临同样的问题,但我解决了我在终端上使用了以下命令

  • sudo npm uninstall ionic

    then  i used
    

sudo npm install -g cordova ionic @ latest

它工作正常它会自动安装最好的stabel版本的cordova和最新的稳定版离子。对我来说它安装了离子3.7.0 和cordova 7.0.1

答案 9 :(得分:0)

您可以临时更改:   npm config设置前缀C:\ Users [用户名] \ AppData \ Roaming \ npm \ node_modules2

  • 更改环境变量集C:\ Users [用户名] \ AppData \ Roaming \ npm \ node_modules2中的路径

  • 运行命令以安装软件包。

  • 打开文件浏览器,复制链接C:\ Users [用户名] \ AppData \ Roaming \ npm \ node_modules

    ok文件yourpackage.CMD创建了另一个文件夹在node_modules中创建了“ node_modules2”并包含您的包文件夹。

  • 将打包文件CMD复制到父文件夹“ npm”

  • 将软件包文件夹复制到父文件夹“ node_modules”

  • 现在运行npm config设置前缀C:\ Users [用户名] \ AppData \ Roaming \ npm

  • 更改环境变量集C中的路径:\ Users [用户名] \ AppData \ Roaming \ npm

  • 现在程序包可与命令行正常使用

=>此方法与我一起使用当IONIC安装和ReactNative安装软件包中的npm块以及另一个软件包npm时。

答案 10 :(得分:0)

运行npm root -g,复制结果路径并将其添加到路径文件:

sudo nano / etc / paths

重新启动控制台,它将正常工作。

答案 11 :(得分:0)

程序包名称已从ionic更改为@ ionic / cli! 要更新,请运行:npm uninstall -g ionic 然后运行:npm i -g @ ionic / cli

答案 12 :(得分:0)

对于Mac用户

1。安装离子型

npm i -g @ionic/cli

2。检查npm路径

npm root -g

3。复制离子的完整路径

例如/usr/local/Cellar/node/15.2.1/lib/node_modules/@ionic/cli/bin

4。使用nano或其他编辑器以管理员“ / etc / paths”打开此文件

例如sudo nano /etc/paths

5。将ionic bin文件的完整路径添加到文件结尾。并保存文件。

就是这样。