无法安装包 - 离子原生

时间:2017-05-14 09:07:25

标签: angular ionic-framework ionic2 hybrid-mobile-app

我正在关注this link将本地通知安装到我的离子2应用程序中。

首先我运行了两个命令

Username@DESKTOP-BNKQVBC MINGW64 ~/Reminder-App (platform-specific)
$ npm install ionic-native --save
rxjs@5.0.1 node_modules\ionic-native\node_modules\rxjs -> node_modules\@ionic\cloud\node_modules\rxjs
ionic-hello-world@0.0.0 C:\Users\Username\Reminder-App
+-- @ionic/cloud-angular@0.12.0
| `-- @ionic/cloud@0.16.0
|   `-- ionic-native@2.9.0
`-- ionic-native@3.5.0

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.1: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN @ionic-native/background-mode@3.6.1 requires a peer of @ionic-native/core@^3.6.0 but none was installed.
npm WARN The package @ionic/cloud-angular is included as both a dev and production dependency.

Username@DESKTOP-BNKQVBC MINGW64 ~/Reminder-App (platform-specific)
$ npm install
        ionic-hello-world@0.0.0 C:\Users\Username\Reminder-App
+-- @ionic-native/core@3.8.0
+-- @ionic-native/splash-screen@3.6.0
`-- @ionic-native/status-bar@3.6.0

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.1: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN The package @ionic/cloud-angular is included as both a dev and production dependency.

之后我尝试运行以下命令

npm install --save @ionic-native/local-notifications

但它给了我以下警告

Username@DESKTOP-BNKQVBC MINGW64 ~/Reminder-App (platform-specific)
$ npm install --save -g @ionic-native/local-notifications
C:\Users\Username\AppData\Roaming\npm
`-- @ionic-native/local-notifications@3.8.0

npm WARN @ionic-native/local-notifications@3.8.0 requires a peer of @ionic-native/core@^3.6.0 but none was installed.
npm WARN @ionic-native/local-notifications@3.8.0 requires a peer of @angular/core@* but none was installed.
npm WARN @ionic-native/local-notifications@3.8.0 requires a peer of rxjs@^5.0.1 but none was installed.

但我已经安装了这些依赖项

"dependencies": {
    "@angular/common": "4.0.2",
    "@angular/compiler": "4.0.2",
    "@angular/compiler-cli": "4.0.2",
    "@angular/core": "4.0.2",
    "@angular/forms": "4.0.2",
    "@angular/http": "4.0.2",
    "@angular/platform-browser": "4.0.2",
    "@angular/platform-browser-dynamic": "4.0.2",
    "@ionic-native/background-mode": "^3.6.1",
    "@ionic-native/core": "^3.6.0",
    "@ionic-native/splash-screen": "3.6.0",
    "@ionic-native/status-bar": "3.6.0",
    "@ionic/cloud-angular": "^0.12.0",
    "@ionic/storage": "^2.0.1",
    "ionic-angular": "3.1.0",
    "ionic-native": "^3.5.0",
    "ionicons": "3.0.0",
    "rxjs": "5.1.1",
    "sw-toolbox": "3.4.0",
    "zone.js": "^0.8.5"
  }

任何人都可以指导我,我错过了什么?

1 个答案:

答案 0 :(得分:1)

查看npm documentation

  

1)这是因为包裹没有全球安装?

是。更准确地说,npm没有在全局@ionic-native/local-notifications文件夹中找到node_modules所需的对等依赖项,这就是为什么即使这些包存在于您的本地项目中也会发出警告。

  

2)你能告诉我何时使用-g以及何时不使用?

这取决于您是否需要某些软件包来开发多个项目而不是特定项目,尤其是那些可以在命令行中运行的软件包。像typescriptionic(cli)这样的软件包是全局安装的。

根据文件:

  

如果你想将它用作命令行工具,比如grunt CLI,那么你想要全局安装它。另一方面,如果您想使用Node's require等依赖于您自己模块的软件包,那么您希望在本地安装。

您的命令必须是:

npm install --save @ionic-native/local-notifications

没有-g

相关问题