文件的具体用途是什么package.lock.json
?我读过它,但它很令人困惑。
假设我npm install
这样做,它将创建一个package.lock.json
文件,下次我这样做时npm install
,它会保留文件中提到的相同软件包的安装吗package.lock.json
?
假设"^1.0.0"
我的文件中定义了一个包版本package.json
,并且 npm 注册表中提供了新版本。当我这样做时,它会更新软件包npm install
,还是会与软件包中的内容保持相同package.json
?
有没有什么简单的方法可以package.json
用确切的软件包版本号来更新文件,而无需手动一一更新?我想保持包的版本不变,这样下次任何人进行 npm install 时,他们应该得到完全相同的包。需要一个发布分支
实际上我需要文件的原始定义package.lock.json
,但我发现其行为不一致。
我尝试使用 NPM CI 但失败并出现错误 node_gyp 需要 python https://github.com/nodejs/node-gyp/issues/1977
package.json
我想使用NuxtJS 应用程序组件中配置的版本号。
这可以做到吗?
问题
我正在尝试更新软件包并运行ncu -u
一次,我运行npm install
以应用新的更新,但它不起作用。看来它给我带来了问题eslint
???虽然我尝试复制问题,以便我可以在此处发布错误,但我似乎无法理解它,但如果我没记错的话,我必须这样做npm install --legacy-peer-deps
。无论如何,一旦我应用它,它就会安装,但一旦我尝试运行,npm run serve
就会出现错误。
我尝试过的
我检查了每个软件包的版本,它们都已更新到最新版本。我已删除“package-lock.json”和“node_modules”并重新安装它们。我很困惑它可能是什么。我查阅了其他一些 stackoverflow 帖子,也提到了清除缓存,但这不起作用。
控制台(运行时npm run serve
)
PS C:\Users\vdcam\Documents\GitHub\project-cc> npm run serve
> project-cc@0.1.0 serve
> vue-cli-service serve
INFO Starting development server...
ERROR Error: Rule can only have one resource source (provided resource and test + include + exclude) in {
"exclude": [
null
],
"use": [
{
"loader": "C:\\Users\\vdcam\\Documents\\GitHub\\project-cc\\node_modules\\cache-loader\\dist\\cjs.js",
"options": {
"cacheDirectory": "C:\\Users\\vdcam\\Documents\\GitHub\\project-cc\\node_modules\\.cache\\babel-loader",
"cacheIdentifier": "39d06afa"
},
"ident": "clonedRuleSet-38.use[0]" …
Run Code Online (Sandbox Code Playgroud) 我在 React 应用程序中使用框架运动。最新版本 - 4.1.13 - 破坏了我的用户界面。我需要降级到以前的版本 - 4.1.2 - (是的,版本控制看起来很奇怪,但 4.1.2 实际上早于 4.1.13,请参阅https://www.npmjs.com/package/framer-motion) 。
我运行命令yarn upgrade framer-motion@^4.1.2
。在 中package.json
,包变为4.1.2
,但在 中yarn.lock
,包的版本仍然是4.1.13
:
framer-motion@^4.1.2:
version "4.1.13"
resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-4.1.13.tgz#0a7f096113a0f80f11116c1a73da9b81523324cd"
integrity sha512-E72PyzHXsie1IGcEFMGM3OJsVbtmpS8vcnDjh6tdeCaP7stoioZpmKZcx7c87giymAyuSSWvsGGdVnDGRzRX6g==
dependencies:
framesync "5.3.0"
hey-listen "^1.0.8"
popmotion "9.3.5"
style-value-types "4.1.4"
tslib "^2.1.0"
optionalDependencies:
"@emotion/is-prop-valid" "^0.8.2"
Run Code Online (Sandbox Code Playgroud)
我当然做了一个rm -rf node_modules && yarn
。它不会改变任何东西。
我正在开发一个angular 10
应用程序。为什么我看到的依赖项版本与我在+ cmdpackage-lock.json
中放入的版本不同:package.json
npm install
例子 :
包.json
“依赖项”:{“下划线”:“ ^1.12.0 ”,.... }
然后我吃午饭npm install
包锁
“下划线”:{“版本”:“ 1.13.1 ”,“已解决”:“https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz”,“完整性”:“sha512- ..." },
为什么在 package.json 中它是版本 1.12.0 而在另一个 json 中它是 1.13.1 ???
我正在开发一个 React js 应用程序,其中我使用Material-UI v5.0.0作为我的 UI 组件。此新版本将 @material-ui/* 前缀中的包名称替换为 @mui/*:
@material-ui/system -> @mui/system
@material-ui/styles -> @mui/styles
@material-ui/lab -> @mui/lab
Run Code Online (Sandbox Code Playgroud)
在我的项目中,我还使用另一个依赖项在一页上显示日历,该依赖项具有Material-UI v4.12.3的对等依赖项,该依赖项导入@material-ui/system
.
我应该如何管理 package.json 中的依赖项,以便我可以在大部分 UI/UX 中使用 Material-UI v5.0.0,并且仍然能够仅针对特定的 UI 屏幕使用依赖项。
我应该 npm 安装 Material UI v5.0.0 和 v4.12.3 还是有更好的方法?
我通过了一门关于 Node.js 和 Angular 的学习课程。那里的老师在package.json中使用了
很多星号而不是特定版本的库。
"dependencies": {
"bcrypt": "*",
"bcryptjs": "^2.4.3",
"body-parser": "*",
"cors": "*",
"express": "*",
"jsonwebtoken": "*",
"mongoose": "*",
"morgan": "^1.10.0",
"passport": "*",
"passport-jwt": "*"
},
"devDependencies": {
"nodemon": "^2.0.7"
}
Run Code Online (Sandbox Code Playgroud)
使用它们是好是坏?
我有一个node.js
项目。在这个项目中,我有 dependencyA
和 dependency B
,我还注意到A
它的依赖项内部的依赖项有 dependency B
,所以我的问题是我应该安装依赖项B
还是我可以从依赖项中使用它A
?
我跑了
npm install @heroicons/react
Run Code Online (Sandbox Code Playgroud)
我的 package.json 看起来像这样:
"dependencies": {
"@headlessui/react": "^1.6.6",
"@heroicons/react": "^2.0.0",
...
Run Code Online (Sandbox Code Playgroud)
但由于某种原因我无法让它工作!
我仍然收到此错误
请帮我一下。我不明白这里有什么问题?
我最近搜索了一些关于前端项目管理的内容,并感到困惑。
我注意到package.json中有一个“浏览器”字段,但我不知道它起什么作用。
在我看来,我们使用像Rollup这样的包打包工具来为浏览器构建.esm.js,并且在浏览器中,只需通过标签导入.esm.js文件<script>
,我们无法在浏览器中导入任何npm包。所以,我认为字段“浏览器”是没有用的。
例如:
项目结构:
packageA---
|--dist
|--main.esm.js
|--main.common.js
|--main.js
|--package.json
Run Code Online (Sandbox Code Playgroud)
包.json:
packageA---
|--dist
|--main.esm.js
|--main.common.js
|--main.js
|--package.json
Run Code Online (Sandbox Code Playgroud)
{
"name": "packageA",
"main": "./dist/main.common.js",
"browser": "./dist/main.esm.js"
}
Run Code Online (Sandbox Code Playgroud)
Q:在浏览器中,如何导入packageA?谁会关注“浏览器”字段并将“./dist/main.esm.js”返回给我们?
多谢。
package.json ×10
npm ×6
javascript ×3
node.js ×3
reactjs ×3
npm-install ×2
version ×2
angular ×1
browser ×1
dependencies ×1
heroicons ×1
material-ui ×1
nuxtjs ×1
tailwind-css ×1
tailwind-ui ×1
vue.js ×1
vuejs3 ×1
webpack ×1
yarnpkg ×1