Я работаю с репозиториями, для которых может быть зафиксировано 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": {}
}