标签: package.json

package.lock.json 文件的正确使用方式是什么?

文件的具体用途是什么package.lock.json?我读过它,但它很令人困惑。

  1. 假设我npm install这样做,它将创建一个package.lock.json文件,下次我这样做时npm install,它会保留文件中提到的相同软件包的安装吗package.lock.json

  2. 假设"^1.0.0"我的文件中定义了一个包版本package.json,并且 npm 注册表中提供了新版本。当我这样做时,它会更新软件包npm install,还是会与软件包中的内容保持相同package.json

  3. 有没有什么简单的方法可以package.json用确切的软件包版本号来更新文件,而无需手动一一更新?我想保持包的版本不变,这样下次任何人进行 npm install 时,他们应该得到完全相同的包。需要一个发布分支

实际上我需要文件的原始定义package.lock.json,但我发现其行为不一致。

我尝试使用 NPM CI 但失败并出现错误 node_gyp 需要 python https://github.com/nodejs/node-gyp/issues/1977

npm package.json npm-install

3
推荐指数
1
解决办法
2480
查看次数

在 NuxtJS 应用程序上显示 package.json 版本

package.json我想使用NuxtJS 应用程序组件中配置的版本号。

这可以做到吗?

version package.json nuxtjs

3
推荐指数
1
解决办法
2781
查看次数

无法运行“vue-cli-service 服务”[vue 3]

问题

我正在尝试更新软件包并运行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)

npm vue.js package.json npm-install vuejs3

3
推荐指数
1
解决办法
4152
查看次数

使用纱线安装特定版本的软件包不起作用

我在 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。它不会改变任何东西。

npm reactjs package.json yarnpkg framer-motion

3
推荐指数
1
解决办法
2988
查看次数

为什么我在 package-lock.json 中得到不同版本的依赖项?

我正在开发一个angular 10应用程序。为什么我看到的依赖项版本与我在+ cmdpackage-lock.json中放入的版本不同:package.jsonnpm 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 ???

npm package.json angular

3
推荐指数
1
解决办法
3594
查看次数

如何在 package.json 中使用同一节点依赖项的 2 个不同版本?

我正在开发一个 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 npm reactjs package.json material-ui

3
推荐指数
1
解决办法
2184
查看次数

在 package.json 中使用“*”而不是某个版本的“~”、“^”库是一个好习惯吗?

我通过了一门关于 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)

使用它们是好是坏?

javascript version npm package.json

3
推荐指数
1
解决办法
3582
查看次数

是否可以在我自己的项目中使用另一个包中的 npm 依赖项?

我有一个node.js项目。在这个项目中,我有 dependencyA和 dependency B,我还注意到A它的依赖项内部的依赖项有 dependency B,所以我的问题是我应该安装依赖项B还是我可以从依赖项中使用它A

javascript dependencies node.js webpack package.json

3
推荐指数
1
解决办法
4794
查看次数

我收到错误模块未找到:错误:无法解析“@heroicons/react/solid”

我跑了

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)

但由于某种原因我无法让它工作!

我仍然收到此错误

请帮我一下。我不明白这里有什么问题?

reactjs package.json tailwind-css tailwind-ui heroicons

3
推荐指数
1
解决办法
4759
查看次数

package.json 的“浏览器”字段没用吗?

我最近搜索了一些关于前端项目管理的内容,并感到困惑。
我注意到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”返回给我们?

多谢。

javascript browser node.js package.json

3
推荐指数
1
解决办法
6431
查看次数