У меня возникла проблема с NPM, где, похоже, обнаруживается конфликт между существующим файлом & символической ссылкой с тем же именем. Я не вижу никаких символических ссылок при запуске ls -l
из корневой папки моего проекта. Как мне понять, что происходит с NPM &, выпрямите этот конфликт?Как исправить конфликт npm для существующих файлов и символических ссылок?
Сервер непрерывной интеграции построен: Node.js 4.4.3 = последняя сборка LTS.
Ящик localhost Node 5.x переключается на использование предварительно созданных phantomjs из-за этого предупреждения ... так что обновление версии сервера Node 4.4.3 -> 5.10.1 не является проблемой, ни правильное исправление :
npm WARN deprecated [email protected]: Package renamed to phantomjs-prebuilt. Please update 'phantomjs' package references to 'phantomjs-prebuilt'
Я не имею ни из них в каком-либо из моих * .js коды, так что я не знаю, где это время требуется от и почему:
require("phantomjs")
require("phantomjs-prebuilt")
Поиска этого фраза на Google & SO, не произвели достаточно полезного результата тс, чтобы решить мою проблему:
"npm ERR! EEXIST: file already exists, symlink"
Вот что я уже пробовал работает:
npm uninstall -g phantomjs
npm WARN not installed in /.../.nvm/versions/node/v4/lib/node_modules: "phantomjs"
rm -rf node_modules // to delete that folder
npm install
npm ERR! EEXIST: file already exists, symlink '../phantomjs-prebuilt/bin/phantomjs' -> '/.../node_modules/.bin/phantomjs'
File exists: ../phantomjs-prebuilt/bin/phantomjs
Move it away, and try again.
скриншот того, что эта ошибка выглядит как был найден в Интернете с помощью Google. Прокрутите страницу вниз до CI server's code example. (Примечание: Это кто-то скриншот, но он похож на мой.)
Использование npm list
или npm ls
показывает phantomjs установлен:
├── [email protected]
Использование npm ls -g
показывает пустой список. Я предполагаю, что это означает, что в глобальную область не установлены никакие пакеты, ни символические ссылки.
Я попытался удалить phantomjs с помощью:
npm uninstall -g phantomjs
npm WARN not installed in /.../.nvm/versions/node/v4/lib/node_modules: "phantomjs"
Я также попытался использовать идею wilmore «s из его ответа на этот вопрос: Homebrew - repeated “linking” bug. What is the underlying issue here?
brew link --overwrite phantomjs
Warning: Already linked: /usr/local/homebrew/Cellar/phantomjs/2.1.1
To relink: brew unlink phantomjs && brew link phantomjs
Это привело меня, чтобы выбрать 1-й вариант из этой последней строки:
brew unlink phantomjs
Unlinking /usr/local/homebrew/Cellar/phantomjs/2.1.1... 2 symlinks removed
Когда я повторно бежать:
npm install
Он по-прежнему спотыкается этой ошибка:
npm ERR! EEXIST: file already exists, symlink '../phantomjs-prebuilt/bin/phantomjs' -> '/.../node_modules/.bin/phantomjs'
File exists: ../phantomjs-prebuilt/bin/phantomjs
Move it away, and try again.
Как отлаживать симлинка далее & исправить это npm install
конфликта между существующими файлами & Symlinks?