Это не ошибка, которую я могу воспроизвести на всех компьютерах Mac, вчера я смог запустить ее без проблем на втором ноутбуке, и это ошибка, которую я получаю из нескольких мест, пытаясь выполнить несколько задач, которые все терпят неудачу
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
Я впервые заметил это при попытке установить phantomjs через npm:
$ sudo npm install -g phantomjs
/usr/local/bin/phantomjs -> /usr/local/lib/node_modules/phantomjs/bin/phantomjs
> phantomjs@1.9.10 install /usr/local/lib/node_modules/phantomjs
> node install.js
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
node.js:815
var cwd = process.cwd();
^
Error: EACCES, permission denied
at Function.startup.resolveArgv0 (node.js:815:23)
at startup (node.js:58:13)
at node.js:906:3
npm ERR! Darwin 13.4.0
npm ERR! argv "node" "/usr/local/bin/npm" "install" "-g" "phantomjs"
npm ERR! node v0.10.32
npm ERR! npm v2.0.0
npm ERR! code ELIFECYCLE
npm ERR! phantomjs@1.9.10 install: `node install.js`
npm ERR! Exit status 8
npm ERR!
npm ERR! Failed at the phantomjs@1.9.10 install script.
npm ERR! This is most likely a problem with the phantomjs package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node install.js
npm ERR! You can get their info via:
npm ERR! npm owner ls phantomjs
npm ERR! There is likely additional logging output above.
Аналогичная проблема также возникает при установке автономного пакета selenium из node.js:
$ sudo npm install -g selenium-standalone
/usr/local/bin/start-selenium -> /usr/local/lib/node_modules/selenium-standalone/bin/start-selenium
> selenium-standalone@2.43.1-2.9.0-1 install /usr/local/lib/node_modules/selenium-standalone
> node install.js
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
node.js:815
var cwd = process.cwd();
^
Error: EACCES, permission denied
at Function.startup.resolveArgv0 (node.js:815:23)
at startup (node.js:58:13)
at node.js:906:3
Что, по-видимому, указывает на то, что он не связан ни с каким конкретным пакетом node.js, однако другие пакеты устанавливаются нормально (например, grunt-cli)
Наконец, в поисках ответов на этот вопрос я также нашел несколько вещей, которые имели проблемы, но не смогли решить данную проблему:
- Исправлены разрешения на моем жестком диске с помощью дисковой утилиты, проблемы были найдены и исправлены
- перезагрузился в рекавери и восстановил мой диск, на котором тоже были проблемы
- У sudo /usr/libexec/locate.updatedb была та же проблема. люди рекомендовали включить root и запустить его. Это позволило этой команде работать правильно, и в последующих запусках больше не было той же ошибки. Однако попытка этого же процесса с npm не помогла
Я не уверен, что еще может быть причиной проблемы.