Проблема с удалением npm после клонирования репо с уже сохраненными в нем node_modules - PullRequest
0 голосов
/ 16 января 2019

Я работаю с репозиториями, для которых может быть зафиксировано node_modules, и я не могу выбирать, будет ли этот каталог зафиксирован.После клонирования репозитория запуск npm uninstall --save blink_firmware фактически не удаляет модуль blink_firmware, и в package.json не производится никаких обновлений.

Я пытался выполнить npm install перед удалением, чтобы проверить,исправляет это, но это не сработало.Я также немного изучил, может ли это быть проблемой с областью видимости, но ничего не нашел.

Если я запускаю npm uninstall --save --verbose blink_firmware, это вывод, который я получаю.

$ npm uninstall --verbose --save blink_firmare                    
npm info it worked if it ends with ok
npm verb cli [ '/usr/bin/node',
npm verb cli   '/usr/bin/npm',
npm verb cli   'uninstall',
npm verb cli   '--verbose',
npm verb cli   '--save',
npm verb cli   'blink_firmare' ]
npm info using npm@6.6.0-next.1
npm info using node@v8.15.0
npm verb npm-session ac823becb073252e
npm timing stage:loadCurrentTree Completed in 49ms
npm timing stage:loadIdealTree:cloneCurrentTree Completed in 0ms
npm timing stage:loadIdealTree:loadShrinkwrap Completed in 7ms
npm timing stage:loadIdealTree:loadAllDepsIntoIdealTree Completed in 5ms
npm timing stage:loadIdealTree Completed in 17ms
npm timing stage:generateActionsToTake Completed in 5ms
npm verb correctMkdir /home/user/.npm/_locks correctMkdir not in flight; initializing
npm verb lock using /home/user/.npm/_locks/staging-ebfe21e6abd2bd0c.lock for /tmp/temp_1d1132b3-6947-423e-b965-44484a87a422/toplevel/node_modules/.staging
npm verb unlock done using /home/user/.npm/_locks/staging-ebfe21e6abd2bd0c.lock for /tmp/temp_1d1132b3-6947-423e-b965-44484a87a422/toplevel/node_modules/.staging
npm timing stage:executeActions Completed in 37ms
npm timing stage:rollbackFailedOptional Completed in 1ms
npm timing stage:runTopLevelLifecycles Completed in 116ms
npm verb saving []
npm verb shrinkwrap skipping write for package.json because there were no changes.
npm info lifecycle undefined~preshrinkwrap: undefined
npm info lifecycle undefined~shrinkwrap: undefined
npm verb shrinkwrap skipping write for package-lock.json because there were no changes.
npm info lifecycle undefined~postshrinkwrap: undefined
npm WARN toplevel@1.0.0 No repository field.

npm timing audit submit Completed in 277ms
npm http fetch POST 200 https://registry.npmjs.org/-/npm/v1/security/audits/quick 278ms
npm timing audit body Completed in 1ms
audited 1 package in 0.363s
found 0 vulnerabilities

npm verb exit [ 0, true ]
npm timing npm Completed in 703ms
npm info ok

Я, должно быть, пропускаю шаг, но я не уверен, что это.Если после удаления я перечислю каталог blink_firmware, то увижу, что он все еще там.

$ ls -a node_modules/blink_firmware/
.  ..  bom_data.yaml  components  docs  package.json  README.md  source  .sr

Запись модуля все еще находится в файле package.json.

$ cat package.json 
{
  "name": "toplevel",
  "version": "1.0.0",
  "description": "Sliderule DOF component.",
  "license": "(Unlicense AND CC0-1.0)",
  "dependencies": {
    "blink_firmware": "git+https://github.com/jmwright/blink_firmware.git"
  },
  "devDependencies": {}
}
...