无法使用任何已安装的npm软件包:无法识别

时间:2015-04-21 04:13:46

标签: node.js path npm firebase

我显然对PATH的作用有误解。我在使用任何已安装的软件包时遇到问题(全局和本地)。到目前为止我试图做的事情:

npm install -g firebase-tools
npm install -g ionic cordova

包安装得很好。当我跑

时,我可以看到
npm list -g --depth=0

我得到一个列表,显示已安装的节点,cordova,firebase和离子包。但是,如果我想通过运行命令来访问任何这些包,例如

firebase-init
  OR
ionic start myApp sidemenu

我在cmd中收到相同的错误消息

['firebase']/['ionic'] is not a recognized internal or external command, operable program or batch file. 

Nodejs安装在我的Program Files(x86)/ nodejs

以下是我将PATH变量设置为:

  

C:\ Program Files \ nodejs;

     

C:\ Program Files(x86)\ nodejs \ node_modules \ npm;

     

C:\用户\ ... \ myproject的\ node_modules

我在本地执行后添加了最后一条路径

npm install ionic

我可以清楚地看到文件夹中的离子包,但是当我尝试运行离子命令时,我仍然得到与上面相同的错误。

我真的很沮丧,因为我现在几周都无法弄清楚这个问题,因此我无法在我的项目上取得任何进展。 :(

注意:我正在使用WINDOWS 8

3 个答案:

答案 0 :(得分:1)

你有安装git吗?删除它并尝试您的命令。 git会导致窗口中的路径出现问题您可以检查this answer

答案 1 :(得分:1)

解决方案1:在应用程序目录中,将本地项目链接到包

var map = null;
$('[data-tabs]').on('change.zf.tabs', function () {
    // check that user selected Map tab for the first time
    // if yes then load and show Google map 
    // let's assume map is located in Tab#2, thus we need Tab with index of 1
    if (!map && $('.tabs-title.is-active').index() == 1) {   // change "1" to your tab# + 1
        // create your map here
        map = new google.maps.Map(document.getElementById('divMap'));
        // add map markers and so on...                
    }

    // optional: if you have Foundation equalizer plugin on the page 
    // then uncomment line below to reInit the plugin 
    // Foundation.reInit('equalizer');
});

解决方案2:问题可能是由缺少NODE_PATH定义引起的

  • 检查环境中是否定义了NODE_PATH变量:

npm link firebase-tools npm link ionic cordova (适用于Windows)

echo %NODE_PATH%(适用于Linux)

  • 如果没有,请定义:

echo $NODE_PATH(适用于Windows)

setx NODE_PATH C:\Users\<Username>\AppData\Roaming\npm\node_modules(适用于Linux)

答案 2 :(得分:0)

@Alexsandra,我建议在本地安装软件包: npm install --save firebase-tools npm install --save ionic cordova

安装完毕后,请检查您的项目package.json,以验证它是否已添加为您的某个依赖项。然后键入firebase --help

希望有所帮助!