【问题标题】:Ionic v2 : "You cannot run cocoapods as root" errorIonic v2:“您不能以 root 身份运行 cocoapods”错误
【发布时间】:2017-12-15 05:30:27
【问题描述】:

我正在尝试在 iOS 中构建一个带有推送通知的 Ionic 2 应用。

我用这个命令行添加了Phonegap插件推送通知:

cordova plugin add phonegap-plugin-push --variable SENDER_ID=12341234 --save 

但是当我尝试在设备中运行我的项目时,我在 xcode 中出现了这个错误:

"GoogleCloudMessaging.h" file not found

我在寻找解决方案,我已经安装了 Cocoapods。我删除了平台 iOS 并尝试使用此命令行添加它:

sudo ionic platform add ios

我遇到了这个错误:

Installing "phonegap-plugin-push" for ios

Failed to install 'phonegap-plugin-push':undefined

Error: /Library/Ruby/Gems/2.0.0/gems/claide-1.0.2/lib/claide/command.rb:439:in `help!': [!] You cannot run CocoaPods as root. (CLAide::Help)

Usage:

    $ pod COMMAND

      CocoaPods, the Cocoa library package manager.

Commands:

    + cache      Manipulate the CocoaPods cache
    + env        Display pod environment
    + init       Generate a Podfile for the current directory
    + install    Install project dependencies according to versions from a
                 Podfile.lock
    + ipc        Inter-process communication
    + lib        Develop pods
    + list       List pods
    + outdated   Show outdated project dependencies
    + repo       Manage spec-repositories
    + setup      Setup the CocoaPods environment
    + spec       Manage pod specs
    + update     Update outdated project dependencies and create new Podfile.lock

Options:

    --silent     Show nothing
    --version    Show the version of the tool
    --verbose    Show more debugging information
    --no-ansi    Show output without ANSI codes
    --help       Show help banner of specified command
    from /Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/lib/cocoapods/command.rb:47:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.1/bin/pod:55:in `<top (required)>'
    from /usr/local/bin/pod:23:in `load'
    from /usr/local/bin/pod:23:in `<main>'

我尝试直接在平台/ios 文件夹中运行“pod install”,但同样的问题。

所以我尝试在命令中删除 sudo :

ionic platform add ios

但显然我有这个错误:

MacBook-Air-de-user:MyApp compagny$ ionic platform add ios
Error during untar for /Users/user/.cordova/lib/npm_cache/cordova-ios/4.3.1/package.tgz: Error: EACCES: permission denied, open '/Users/user/.cordova/lib/npm_cache/cordova-ios/4.3.1/package/package.json'


Error: Failed to fetch platform ios
Probably this is either a connection problem, or platform spec is incorrect.
Check your connection and platform name/version/URL.
Error: EACCES: permission denied, open '/Users/user/.cordova/lib/npm_cache/cordova-ios/4.3.1/package/package.json'

我真的不知道该怎么做才能解决这个问题。一个想法?

【问题讨论】:

  • 您好,遇到同样的问题,您能解决吗?
  • 我能够通过删除“.cordova”目录并重新开始来解决问题,同时确保不使用 sudo。使用 sudo rm -Rf ~/.cordova t
  • 我还没有找到解决这个问题的方法。我只是改变了我的方法,只使用了 firebase:angularfirebase.com/lessons/… 但可以肯定:使用 sudo 是魔鬼。

标签: ios cordova push-notification ionic2 cocoapods


【解决方案1】:

它对我有用

如果您使用任何插件和平台添加,请安装并添加不 “须藤”。

如果需要权限,他们转到项目目录并单击 setting-&gt;Get Info 授予“读写”权限,然后您可以在没有“sudo”的情况下安装插件和平台

ionic cordova plugin add cordova-plugin-fcm-with-dependecy-updated@7.5.0

ionic cordova build ios --prod

【讨论】:

    【解决方案2】:

    如果还有人遇到问题,我可以运行

    pod install
    

    在平台/ios 在此之前您可能需要在该文件夹中添加权限

    sudo chown -R *username* platforms/ios
    

    【讨论】:

      【解决方案3】:

      要允许在您的 Mac 上执行代码而不使用 sudo,只需运行即可。

      sudo chown -R Username /Users/username/Document/project location
      

      【讨论】:

        【解决方案4】:

        尝试更新 Cordova 版本,删除平台并重新添加:

        npm install -g cordova
        cordova platform remove android
        cordova platform remove ios
        cordova platform add android
        cordova platform add ios
        cordova plugin add phonegap-plugin-push --save
        

        我遇到了同样的问题,它对我有用。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-06-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-09-08
          • 2017-07-29
          相关资源
          最近更新 更多