Win 7 上的 Titanium CLI - “EPERM,不允许操作 'C:\Program Files\Gemeinsame Dateien'" [英] Titanium CLI on Win 7 - "EPERM, operation not permitted 'C:\Program Files\Gemeinsame Dateien'"

查看:30
本文介绍了Win 7 上的 Titanium CLI - “EPERM,不允许操作 'C:\Program Files\Gemeinsame Dateien'"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不知道还能做什么,因为我尝试了目前能找到的所有方法.

I don't know what else to do as I tried everything I could find so far.

情况:我正在尝试通过 CLI 在我的 Windows 7 笔记本电脑上使用 Titanium.

Situation: I am trying to use Titanium via CLI on my Windows 7 Laptop.

安装 Node.js、Titanium、Titanium sdk、Android sdk 一切正常.

Installing Node.js, Titanium, Titanium sdk, Android sdk all works fine.

PS C:\Windows\system32> node -v
   v0.12.9
PS C:\Windows\system32> ti -v
   5.0.6

   Installed SDKs:
   4.0.0.GA [selected]

尝试 ti info 以及构建某些东西会产生以下错误:

Trying ti info as well as building something produces the following Error:

PS C:\Windows\system32> ti info
Titanium Command-Line Interface, CLI version 5.0.6, Titanium SDK version 4.0.0.GA
Copyright (c) 2012-2015, Appcelerator, Inc.  All Rights Reserved.

Please report bugs to http://jira.appcelerator.org/

 /Error: EPERM, operation not permitted 'C:\Program Files\Gemeinsame Dateien'
    at Error (native)
    at Object.fs.readdirSync (fs.js:761:18)
    at scan (C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.GA\node_modules\titanium-sdk\lib\emulators\genymotion.js:136:
25)
    at scan (C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.GA\node_modules\titanium-sdk\lib\emulators\genymotion.js:148:
26)
    at C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.GA\node_modules\titanium-sdk\lib\emulators\genymotion.js:154:10
    at C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.GA\node_modules\titanium-sdk\lib\emulators\genymotion.js:111:8
    at Immediate.q.process (C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.GA\node_modules\async\lib\async.js:731:21)
    at processImmediate [as _immediateCallback] (timers.js:367:17)
---------------------------------------------
    at Object.async.setImmediate (C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.GA\node_modules\async\lib\async.js:96:15
)
    at C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.GA\node_modules\async\lib\async.js:696:21
    at Array.forEach (native)
    at _each (C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.GA\node_modules\async\lib\async.js:32:24)
    at _insert (C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.GA\node_modules\async\lib\async.js:681:11)
    at Object.q.push (C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.GA\node_modules\async\lib\async.js:708:15)
    at C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.GA\node_modules\titanium-sdk\lib\emulators\genymotion.js:127:12
    at Object.queue.drain (C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.GA\node_modules\node-appc\lib\subprocess.js:108
:3)
    at next (C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.GA\node_modules\node-appc\node_modules\async\lib\async.js:804
:31)
---------------------------------------------
    at Object.async.setImmediate (C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.GA\node_modules\node-appc\node_modules\a
sync\lib\async.js:110:15)
    at C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.GA\node_modules\node-appc\node_modules\async\lib\async.js:768:21
    at Array.forEach (native)
    at _each (C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.GA\node_modules\node-appc\node_modules\async\lib\async.js:46
:24)
    at _insert (C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.GA\node_modules\node-appc\node_modules\async\lib\async.js:
753:11)
    at Object.q.push (C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.GA\node_modules\node-appc\node_modules\async\lib\asy
nc.js:782:15)
    at Object.findExecutable (C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.GA\node_modules\node-appc\lib\subprocess.js:
113:8)
    at Object.async.parallel.virtualbox (C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.GA\node_modules\titanium-sdk\lib\
emulators\genymotion.js:97:20)
    at C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.GA\node_modules\async\lib\async.js:524:25

我不得不说我已经在尝试不同版本的 Node(4.x、5.x).

I have to say that i was already trying different versions of Node (4.x, 5.x).

我了解了 Genymotion 问题.我安装了 Genymotion,从未卸载它,我确实尝试从 sdk 目录中删除 genymotion.js.

I read about the Genymotion issue. I have Genymotion installed, never uninstalled it and i did try to delete the genymotion.js from sdk directory.

删除这个会产生:

PS C:\Windows\system32> ti info
Titanium Command-Line Interface, CLI version 5.0.6, Titanium SDK version 4.0.0.GA
    Copyright (c) 2012-2015, Appcelerator, Inc.  All Rights Reserved.

    Please report bugs to http://jira.appcelerator.org/

     |[ERROR] Failed to run command "info"
    [ERROR] Error: Cannot find module 'titanium-sdk/lib/emulators/genymotion'
        at Function.Module._resolveFilename (module.js:336:15)
        at Function.Module._load (module.js:278:25)
        at Module.require (module.js:365:17)
        at require (module.js:384:17)
        at Object.<anonymous> (C:\ProgramData\Titanium\mobilesdk\win32\4.0.0.GA\cli\lib\info.js:12:15)
        at Module._compile (module.js:460:26)
        at Object.Module._extensions..js (module.js:478:10)
        at Module.load (module.js:355:32)
        at Function.Module._load (module.js:310:12)
        at Module.require (module.js:365:17)
        at require (module.js:384:17)
    ---------------------------------------------
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:275:35
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:44:16
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:694:17
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:173:37
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:52:16
        at Object.done (C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:248:21)
        at Object.<anonymous> (C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:44
    :16)
        at CLI._fireHookCallback (C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\lib\hook.js:269:12)
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\lib\hook.js:248:10
    ---------------------------------------------
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:275:35
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:44:16
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:694:17
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:173:37
        at CLI.detectMissingArguments (C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\lib\cli.js:695:13)
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:689:13
        at iterate (C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:265:13)
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:277:29
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:44:16
    ---------------------------------------------
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:275:35
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:44:16
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:694:17
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:173:37
        at CLI.<anonymous> (C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\lib\cli.js:523:9)
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:689:13
        at iterate (C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:265:13)
        at async.forEachOfSeries.async.eachOfSeries (C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules
    \async\lib\async.js:284:9)
        at _parallel (C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:688:9)
    ---------------------------------------------
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:275:35
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:44:16
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:694:17
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:173:37
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\lib\hook.js:243:8
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:689:13
        at iterate (C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:265:13)
        at async.forEachOfSeries.async.eachOfSeries (C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules
    \async\lib\async.js:284:9)
        at _parallel (C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:688:9)
    ---------------------------------------------
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:275:35
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:44:16
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:694:17
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:173:37
        at CLI.processCompletion (C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\lib\cli.js:370:2)
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:689:13
        at iterate (C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:265:13)
        at process._tickCallback (node.js:355:11)
    ---------------------------------------------
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:275:35
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:44:16
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:694:17
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:173:37
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:52:16
        at Object.done (C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:248:21)
        at Object.<anonymous> (C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:44
    :16)
        at CLI._fireHookCallback (C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\lib\hook.js:269:12)
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\lib\hook.js:248:10
    ---------------------------------------------
        at Object.setImmediate (C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:2
    00:9)
        at _insert (C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:861:19)
        at Object.q.push (C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\async\lib\async.js:888:17)

        at Object.findExecutable (C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\node_modules\node-appc\lib\subp
    rocess.js:113:8)
        at resolveNode (C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\lib\titanium.js:97:34)
        at C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\lib\titanium.js:74:5
        at Object.<anonymous> (C:\Users\cluecke\AppData\Roaming\npm\node_modules\titanium\lib\titanium.js:80:2)
        at Module._compile (module.js:460:26)
        at Object.Module._extensions..js (module.js:478:10)

还有:所有这些都是使用管理员权限生成的,即使我的用户在该机器上具有相同的权限.管理员和我的用户都拥有公共文件"的所有权限

Also: All of this is produced with admin privileges, even though my user has the same permissions on that machine. Both admin and my user have all permissions on "common files"

此时的最后信息

PS C:\Windows\system32> ti config
android.ndkPath        = "C:\\Users\\cluecke\\Ti_Android\\android-ndk-r10e"
android.sdkPath        = "C:\\Users\\cluecke\\AppData\\Local\\Android\\sdk1"
app.workspace          = "C:\\Users\\cluecke\\Ti_Workspace"
cli.colors             = true
cli.completion         = false
cli.failOnWrongSDK     = false
cli.httpProxyServer    = ""
cli.ignoreDirs         = "^(\\.svn|_svn|\\.git|\\.hg|\\.?[Cc][Vv][Ss]|\\.bzr|\\$RECYCLE\\.BIN)$"
cli.ignoreFiles        = "^(\\.gitignore|\\.npmignore|\\.cvsignore|\\.DS_Store|\\._.*|[Tt]humbs.db|\\.vspscc|\\.vssscc|\
\.sublime-project|\\.sublime-workspace|\\.project|\\.tmproj)$"
cli.logLevel           = "trace"
cli.progressBars       = true
cli.prompt             = true
cli.rejectUnauthorized = "yes"
cli.width              = 100
paths.commands         = []
paths.hooks            = []
paths.modules          = []
paths.plugins          = []
paths.sdks             = []
paths.templates        = []
sdk.selected           = "4.0.0.GA"
user.email             = "***"
user.locale            = "de"
user.name              = "***"

希望能帮到你!

推荐答案

Titanium 的 Genymotion 检测代码对Program Files"目录进行简单扫描,寻找 VirtualBox 安装.Program Files"目录中的某些目录需要提升的权限.在 Node.js 中执行简单的 fs.readdirSync() 会引发异常.

Titanium's Genymotion detection code does a naive scan of the "Program Files" directory looking for the VirtualBox installation. Some of the directories in the "Program Files" directory require elevated privileges. Doing a simple fs.readdirSync() in Node.js throws an exception.

删除 Genymotion 文件不再起作用.由ti info"代码直接引用.

The removing the Genymotion file doesn't work anymore. It's directly referenced by the "ti info" code.

因此,要解决此问题,您只需将genymotion.executables.vboxmanage"设置设置为 VirtualBox 的VBoxManage.exe"可执行文件的路径:

So, to workaround this, you simply need to set the "genymotion.executables.vboxmanage" setting to the path of VirtualBox's "VBoxManage.exe" executable:

ti config genymotion.executables.vboxmanage "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"

这篇关于Win 7 上的 Titanium CLI - “EPERM,不允许操作 'C:\Program Files\Gemeinsame Dateien'"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆