Ember-CLI安装未被识别

5
我已经按照以下教程做了,一切都安装好了,但ember-cli没有安装成功。教程链接:http://www.ember-cli.com/#getting-started 以下是操作步骤:
  • node --help(显示输出的帮助信息)
  • npm --help(显示输出的帮助信息)
  • npm install -g bower
  • npm install -g phantomjs
以上步骤都没有问题,但当我尝试运行ember new my-new-app时,出现了以下错误:
$ ember new my-new-app
-bash: ember: command not found

当我执行$ npm install -g ember-cli时,我得到以下内容。
$ npm install -g ember-cli
/Users/MGK/.node/bin/ember -> /Users/MGK/.node/lib/node_modules/ember-cli/bin/ember
ember-cli@0.1.4 /Users/MGK/.node/lib/node_modules/ember-cli
├── abbrev@1.0.5
├── js-string-escape@1.0.0
├── debug@2.1.0 (ms@0.6.2)
├── temp@0.8.1 (rimraf@2.2.8)
├── symlink-or-copy@1.0.1 (copy-dereference@1.0.0)
├── http-proxy@1.7.3 (requires-port@0.0.0, eventemitter3@0.1.6)
├── broccoli-writer@0.1.1 (rsvp@3.0.14, quick-temp@0.1.2)
├── yam@0.0.17 (findup@0.1.5, fs-extra@0.8.1, lodash@2.4.1)
└── broccoli-caching-writer@0.5.1 (promise-map-series@0.2.0, rimraf@2.2.8, quick-         temp@0.1.2, rsvp@3.0.14, core-object@0.0.2, broccoli-kitchen-sink-helpers@0.2.5)

有什么想法吗?

更新:这是我的echo $PATH

$ echo $PATH
/Users/MGK/.rvm/gems/ruby-2.1.2/bin:/Users/MGK/.rvm/gems/ruby-2.1.2@global/bin:/Users/MGK/.rvm/rubies/ruby-2.1.2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/MGK/.rvm/bin

只是想澄清一下,您在运行 npm install -g ember-cli 后是否尝试再次运行 ember new my-new-app - wisew
是的,仍然出现“-bash:$:命令未找到”的错误。 - M1lls
你的路径可能出了问题。bower 能找到吗?检查确保包含全局安装的节点模块可执行文件的目录位于你的路径上。 - user663031
@torazaburo 这正是我所想的。@Mills 如果你自己无法评估你的路径,你可以随时更新你的问题,并附上 echo $PATH 的内容。 - wisew
@torazaburo 是的,找到了bower。@wisew让我更新一下我的问题,附上我的echo $PATH输出,谢谢! - M1lls
4个回答

7
问题在于npm的路径不在你的$PATH变量中,因此你的shell不知道在哪里查找任何npm模块。有几种方法可以解决这个问题:
  1. 运行npm config get prefix。打开你的.bash_profile.bashrc配置文件,并添加以下行:

    export PATH="~/.node/bin:$PATH"

    这将把你的npm可执行文件添加到你的路径中。(~/.node/bin是从安装ember-cli时的控制台输出中获取的)

    然后根据你编辑的文件运行source ~/.bashrcsource ~/.bash_profile。这将加载你对$PATH所做的更改。或者:

  2. 运行npm config set prefix /usr/local/usr/local因为你使用的是Mac,它已经在你的$PATH中了)。

(请参见this question以获取更一般的相同npm安装问题的实例。)

我将 /usr/local 设置为前缀并将其添加到了我的路径中,但仍然没有成功。 - quantumpotato

1
对于Windows用户: 将你的npm路径添加到PATH环境变量中。 开始->高级系统设置->环境变量
在系统变量部分,点击Path然后编辑。 添加C:\ Users \ username \ AppData \ Roaming \ npm到列表中。 重启后它对我有用。
希望能帮到你。

这对我有用。谢谢。 - aashii

0

当你运行$PATH时,路径中是否确实存在那个巨大的间隔(制表符或空格)?

如果是这样,那么你的路径可能因为空格而损坏。根据你提供的PATH,尝试执行以下操作来重置你的PATH。将以下这行代码粘贴到你的终端窗口中:

PATH=/Users/MGK/.rvm/gems/ruby-2.1.2/bin:/Users/MGK/.rvm/gems/ruby-2.1.2@global/bin:/Users/MGK/.rvm/rubies/ruby-2.1.2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/MGK/.rvm/bin

我已经更新了我的$PATH,不再有空格了。感谢您指出这一点! - M1lls

0

正如@wisew所说,问题在于未将npm路径设置为路径变量!

我在我的win7机器上遇到了同样的问题,通过将"C:\Users\username\AppData\Roaming\npm"添加到路径变量中来解决了该问题。

  1. 打开命令提示符(cmd)并运行setx "%path%;C:\Users\username\AppData\Roaming\npm"
  2. 重新打开cmd以确认更改
  3. 运行命令ember

现在您应该看到已检测到ember命令并正在工作 :)

谢谢!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接