1

我尝试安装 Ionic2 没有成功,所以我决定回到 Ionic,但在此过程中出现了问题,我无法重新安装 ionic 和 cordova。

之后sudo npm install -g cordova ionic,我尝试运行ionic并得到:

xx@xxx:~/dev$ ionic info
module.js:328
    throw err;
    ^

Error: Cannot find module 'xmlbuilder'
    at Function.Module._resolveFilename (module.js:326:15)
    at Function.Module._load (module.js:277:25)
    at Module.require (module.js:354:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/ionic/node_modules/xml2js/lib/xml2js.js:12:13)
    at Object.<anonymous> (/usr/local/lib/node_modules/ionic/node_modules/xml2js/lib/xml2js.js:436:4)
    at Module._compile (module.js:410:26)
    at Object.Module._extensions..js (module.js:417:10)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)

我的版本是:

xx@xxx:~/dev$ npm -v
2.14.12
gal@xxx:~/dev$ nodejs -v
v0.10.25
xx@xxx:~/dev$ node -v
v4.2.6
4

6 回答 6

2

我也遇到过这个问题。我所做的是:

$ cd /usr/local/lib/node_modules/ionic/
$ npm install xmlbuilder

你也可以使用sudo

碰巧 xmlbuilder 是 xml2js 的依赖项,并且无法加载模块,因为它在安装 ionic 时未包含在 ionic 的 package.json 中。

于 2016-03-12T00:32:52.507 回答
1

对我有用的是使用

sudo npm install -g ionic@beta  cordova

根据链接安装V2版本。

于 2016-02-12T11:50:12.550 回答
1

清理 npm 缓存对我来说很有帮助。需要采取的行动是:

  1. 根据您的操作系统安装稳定版本的 nodejs,请按照这些说明进行操作。

  2. 删除所有已安装的 cordova 和 ionic 版本:

    sudo npm uninstall -g ionic cordova bower
    
  3. 至关重要的是,清理 npm 缓存:

    npm cache clean
    
  4. 从头开始安装:

    sudo npm install bower cordova ionic -g
    

注意:不要从 Ubuntu 14.04 LTS 存储库安装 nodejs 版本,因为它已过时。

于 2016-04-29T16:48:12.173 回答
0

你有没有试过

sudo npm uninstall -g ionic
sudo npm install -g ionic
于 2016-02-08T09:10:00.393 回答
0

我在下载 ionic 2 时遇到了类似的问题。尝试先安装node 版本 4.2.3和 cordova 版本 5.4.1,然后再安装 ionic

  • 对于 ionic v2,npm install -g ionic@beta
  • 对于 ionic v1,npm install -g ionic
于 2016-02-08T10:53:53.713 回答
0

您应该检查您的 nodejs 版本。确保它是版本 4。如果不是,请卸载 nodejs 并安装版本 4。祝你好运!P/s:卸载:

sudo apt-get remove nodejs

安装:

curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs
于 2016-04-17T12:00:40.623 回答