Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Cordova solicita permissão de acesso todo momento

Estou usando mac e o cordova a todo momento solicita permissão de acesso, como eu faço para fazer conforme a aula, apenas digitar o comando sem precisar usar senha?

Por exemlo:

cordova -v

Não roda, dá o erro:

iMac-de-DANIEL:garconaap daniel$ cordova -v
/usr/local/lib/node_modules/cordova/node_modules/insight/node_modules/configstore/index.js:53
                throw err;
                ^

Error: EACCES: permission denied, open '/Users/daniel/.config/configstore/insight-cordova.json'
You don't have access to this file.

    at Object.fs.openSync (fs.js:646:18)
    at Object.fs.readFileSync (fs.js:551:33)
    at Configstore.get (/usr/local/lib/node_modules/cordova/node_modules/insight/node_modules/configstore/index.js:34:26)
    at new Configstore (/usr/local/lib/node_modules/cordova/node_modules/insight/node_modules/configstore/index.js:27:45)
    at new Insight (/usr/local/lib/node_modules/cordova/node_modules/insight/lib/index.js:38:34)
    at Object.<anonymous> (/usr/local/lib/node_modules/cordova/src/telemetry.js:26:15)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)

para fazer ele rodar tenho que usar

sudo cordova -v

utilizando minha senha para todos os comandos do cordova.

4 respostas

Oi Daniel,

O problema é que voce está com instalacoes globais na raiz do sistema.

Uma solucao que uso aqui é instalar meus modulos npm todos na raiz do meu usuario, assim eu tenho permissao de usuario em tudo.

Eu vou na home do usuario e instalo as coisas localmente com npm install cordova por exemplo (sem o -g).

Ai pra conseguir rodar as coisas eu adiciono no PATH o caminho dos executaveis do meu usuario: /Users/sergio/node_modules/.bin

Oi Sérgio,

Fiz a remoção do cordova, depois instalei e incluí no PATH o caminho conforme orientado. Ainda permanece solicitando o SUDO para os comandos.

Ao pedir a versão do cordova aparece o mesmo erro:

Error: EACCES: permission denied, open '/Users/daniel/.config/configstore/insight-cordova.json'
You don't have access to this file.

    at Object.fs.openSync (fs.js:646:18)
    at Object.fs.readFileSync (fs.js:551:33)
    at Configstore.get (/Users/daniel/node_modules/insight/node_modules/configstore/index.js:34:26)
    at new Configstore (/Users/daniel/node_modules/insight/node_modules/configstore/index.js:27:45)
    at new Insight (/Users/daniel/node_modules/insight/lib/index.js:38:34)
    at Object.<anonymous> (/Users/daniel/node_modules/cordova/src/telemetry.js:26:15)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)

Tá complicado, muita coisa que os vídeos mostram não funcionam, talvez seja o momento de atualizar ou desativar esse curso.

solução!

Oi Daniel,

Acho que esse arquivo /Users/daniel/.config/configstore/insight-cordova.json foi criado antes quando rodou com sudo. Por isso mesmo agora ele não consegue acessar.

Veja qual usuario é dono do arquivo com:

ls -l /Users/daniel/.config/configstore/insight-cordova.json

Ai tenta mudar a permissão dele pro seu usuario:

sudo chown daniel /Users/daniel/.config/configstore/insight-cordova.json

Todos os arquivos da pasta estavam com somente leitura para Staff e Todos os usuários, me inclui usando o Finder mesmo e deu certo.