Какие потребности пойти, чтобы полностью удалить установку MAMP из OSX?

Решение

Измените свои сценарии так, чтобы то, что вы передали в Mocha, было защищено от расширения оболочкой:

"scripts": {
    "test": "mocha 'dist/**/*Test.js'",
 }

Обратите внимание на одинарные кавычки вокруг параметра, указанного в mocha.

Объяснение

Эта проблема исправлена ​​без использования внешних инструментов. Основной причиной вашей проблемы является то, что в npm используется sh как оболочка, которая будет запускать ваши команды сценария.

В подавляющем большинстве случаев, когда процесс * nix запускает оболочку, он запустит sh, если только что-то не говорит об этом иначе. Предпочтение оболочки, которое вы устанавливаете для входа в систему, не является способом «сказать об этом иначе». Поэтому, если у вас есть, скажем, zsh в качестве вашей оболочки входа, это не означает, что npm будет использовать zsh.

Те реализации sh, которые не содержат никаких расширений, кроме того, что sh должен предоставить, не понимайте ** glob так, как вы этого хотите. Насколько я могу судить, это интерпретируется как *. Тем не менее, Mocha интерпретирует пути, переданные ему, используя реализацию JavaScript globs. Таким образом, вы можете обойти проблему, защищая ваши глобы от интерпретации sh. Рассмотрим следующий package.json:

{
  "name": "immutable-ts",
  "scripts": {
    "bad": "mocha test/**/*a.js",
    "good": "mocha 'test/**/*a.js'",
    "shell": "echo $0"
  }
}

Скрипт shell - это просто, чтобы мы могли проверить, в какой оболочке работает скрипт. Если вы запустите его, вы увидите sh.

Теперь, учитывая следующее дерево:

test/
├── a.js
├── b.js
├── x
│   ├── a
│   │   ├── a.js
│   │   └── b.js
│   ├── a.js
│   └── b
│       └── a.js
└── y
    ├── a.js
    └── q

При всех файлах a.js и b.js, содержащих it(__filename); , Вы получаете следующие результаты:

$ npm run bad

> immutable-ts@ bad /tmp/t2
> mocha test/**/*a.js

  - /tmp/t2/test/x/a.js
  - /tmp/t2/test/y/a.js

  0 passing (6ms)
  2 pending

$ npm run good

> immutable-ts@ good /tmp/t2
> mocha 'test/**/*a.js'

  - /tmp/t2/test/a.js
  - /tmp/t2/test/x/a.js
  - /tmp/t2/test/x/a/a.js
  - /tmp/t2/test/x/b/a.js
  - /tmp/t2/test/y/a.js

  0 passing (5ms)
  5 pending
24
задан Pete Karl II 29 October 2008 в 20:10
поделиться

3 ответа

От их страница справки :

Для "удаления" MAMP только необходимо удалить каталог MAMP, и все возвращается к исходному состоянию (MAMP ничего не изменяет на "нормальном" OS X).

28
ответ дан davr 28 November 2019 в 23:59
поделиться

AppZapper является большим инструментом, который решает эту проблему. Поисковый Google для него, это свободно в первые 5 раз, когда Вы используете его.

-1
ответ дан Ludvig A. Norin 28 November 2019 в 23:59
поделиться

Полностью удалять любое приложение. Попытайтесь установить AppTrap. + это свободно

Каждый раз, когда Вы перемещаете приложение в Мусор, AppTrap нашел бы предпочтительные файлы в Вашей библиотеке и позволил бы Вам удалить их также.

-1
ответ дан Community 28 November 2019 в 23:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: