GVKun编程网logo

是否有任何工具可以在 Linux 和 Windows 上运行 npm package.json 的脚本?

3

在本文中,我们将为您详细介绍是否有任何工具可以在Linux和Windows上运行npmpackage.json的脚本?的相关知识,此外,我们还会提供一些关于$npminstallnpmWARNsave

在本文中,我们将为您详细介绍是否有任何工具可以在 Linux 和 Windows 上运行 npm package.json 的脚本?的相关知识,此外,我们还会提供一些关于$ npm install npm WARN saveError ENOENT:没有这样的文件或目录,请打开'C:\ LeadMgt_Use.This.One \ package.json'、/package.json 中不存在 package.json、Dependabot 未能更新您的依赖项,因为解析 /package.json 中的 package.json 时出错、Docker - npm 错误! enoent ENOENT: 没有那个文件或目录,打开'/package.json' ----- /docker-entrypoint.sh: 38: exec: npm: not found的有用信息。

本文目录一览:

是否有任何工具可以在 Linux 和 Windows 上运行 npm package.json 的脚本?

是否有任何工具可以在 Linux 和 Windows 上运行 npm package.json 的脚本?

如何解决是否有任何工具可以在 Linux 和 Windows 上运行 npm package.json 的脚本?

...我为 node 项目的 package.json 编写了一些脚本。当我在脚本中使用某些语法(例如,BUILD_PATH=)时,我只能使用 WLS 命令行(Linux)运行此 npm 脚本,但是在 Windows 中与 bash 一起使用时会引发错误。我想知道是否有任何工具可以在 Windows 和 Linux 中运行这样的脚本?

示例:来自我的 package.json

"scripts":
{"build": "BUILD_PATH=../server/public react-scripts build"}

当我使用 Linux 命令行 (WSL) 执行它时,它运行良好。 但是对于 Windows,它会引发错误。

我知道这个命令对应的窗口是什么。 但我想知道一种工具或软件包可以自动执行此操作。

解决方法

我发现 npm 默认 shell 不是 git,尽管我在 bash 中运行 npm 命令。 要修复它,它需要运行以下命令将 bash 替换为默认 shell。

npm config set script-shell "C:\\\\Program Files\\\\git\\\\bin\\\\bash.exe"

我希望它对可能面临此问题的其他人有所帮助和工作。

$ npm install npm WARN saveError ENOENT:没有这样的文件或目录,请打开'C:\ LeadMgt_Use.This.One \ package.json'

$ npm install npm WARN saveError ENOENT:没有这样的文件或目录,请打开'C:\ LeadMgt_Use.This.One \ package.json'

如何解决$ npm install npm WARN saveError ENOENT:没有这样的文件或目录,请打开''C:\\ LeadMgt_Use.This.One \\ package.json''

我是这个世界的新手,不了解我在此网站上找到的大多数术语/答案。

我被告知这里是您可以获得帮助的地方。

我正在使用工作计算机,因此只能访问C驱动器。

如果有人有逐步说明,请告知。我已经采取的步骤是打开包含文件和package.json的文件夹,然后右键单击该文件夹内部,然后单击否“ Git Bash Here”。一旦GitBash打开,我将输入命令“ Install NPM”并收到错误消息。请帮忙,因为我一直在努力解决这个问题。非常感谢您抽出宝贵的时间。

所需的解决方案能够将命令“ NPM INSTALL”成功输入到GITBASH中

当前问题

$ npm install
npm WARN saveError ENOENT: no such file or directory,open ''C:\\LeadMgt_Use.This.One\\package.json''
npm WARN enoent ENOENT: no such file or directory,open ''C:\\LeadMgt_Use.This.One\\package.json''
npm WARN LeadMgt_Use.This.One No description
npm WARN LeadMgt_Use.This.One No repository field.
npm WARN LeadMgt_Use.This.One No README data
npm WARN LeadMgt_Use.This.One No license field.

/package.json 中不存在 package.json

/package.json 中不存在 package.json

如何解决/package.json 中不存在 package.json

当我尝试使用 webpack 来构建我的项目并在 AWS Lambda 上使用它时,我收到了很多与 ./node_modules/grpc 的严重依赖相关的警告。 一旦我import {GoogleAdsApi} from ''google-ads-api''; 据我所知,这与动态导入有关,我可能是错的。 结果,捆绑的文件很大(超过 4MB),当压缩它并在 Lambda 上使用它时,当 Lambda 被触发时,我收到以下错误:“package.json does not exist at /package.json”>

*打字稿
*节点版本 12.x

index.ts

import {GoogleAdsApi} from ''google-ads-api'';

export const handler = async (event: any): Promise<any> => {
  try {
    console.log(''Start'',event);
    // @ts-ignore
    const api = new GoogleAdsApi({client_id: ''id'',client_secret: ''secret'',developer_token: ''dToken''});
    return ''success'';
  } catch (e) {
    console.log(''Error'',e);
    throw e;
  }
};

Error: package.json does not exist at /package.json,at Object.exports.find (/var/task/webpack:/node_modules/node-pre-gyp/lib/pre-binding.js:18:1),at Object.<anonymous> (/var/task/webpack:/node_modules/grpc/src/grpc_extension.js:29:1),at Object.<anonymous> (/var/task/index.js:40079:30),at __webpack_require__ (/var/task/webpack:/webpack/bootstrap:19:1),at Object.<anonymous> (/var/task/webpack:/node_modules/grpc/src/client_interceptors.js:144:12),at Object.<anonymous> (/var/task/webpack:/node_modules/grpc/src/client.js:35:27),at Object.<anonymous> (/var/task/webpack:/node_modules/grpc/index.js:27:14),at Object.<anonymous> (/var/task/index.js:2460:30)

Webpack 警告 Webpack 警告:

WARNING in ./node_modules/bytebuffer/dist/bytebuffer-node.js 29:38-55
Module not found: Error: Can''t resolve ''memcpy'' in   

WARNING in ./node_modules/google-ads-node/node_modules/import-fresh/index.js 28:8-25
Critical dependency: the request of a dependency is an expression


WARNING in ./node_modules/grpc/src/grpc_extension.js 32:12-33
Critical dependency: the request of a dependency is an expression


WARNING in ./node_modules/node-pre-gyp/lib/pre-binding.js 20:22-48
Critical dependency: the request of a dependency is an expression

WARNING in ./node_modules/node-pre-gyp/lib/util/versioning.js 17:20-67
Critical dependency: the request of a dependency is an expression

webpack.config.js:

`const path = require("path")
const ForkTsCheckerWebpackPlugin = require("fork-ts-checker-webpack-plugin")

module.exports = {
mode: "production",entry: "./src/index.ts",resolve: {
extensions: [".js",".jsx",".json",".ts",".tsx"],},output: {
libraryTarget: "commonjs",path: path.join(__dirname,"dist"),filename: "index.js",target: "node",module: {
rules: [
{
// Include ts,tsx,js,and jsx files.
test: /.(ts|js)x?$/,exclude: /node_modules/,use: [
{
loader: "cache-loader",options: {
cacheDirectory: path.resolve(".webpackCache"),"babel-loader",],plugins: [new ForkTsCheckerWebpackPlugin()],}`

Dependabot 未能更新您的依赖项,因为解析 /package.json 中的 package.json 时出错

Dependabot 未能更新您的依赖项,因为解析 /package.json 中的 package.json 时出错

如何解决Dependabot 未能更新您的依赖项,因为解析 /package.json 中的 package.json 时出错

我在我的 React Native 应用程序的存储库中启用了 Dependabot GitHub 操作,但由于某种原因,它不会自动更新。我有 2 个依赖项不会: xmldon 0.5.0 and node-fetch 2.6.1

当我尝试创建 Dependabot 安全更新时,我不断收到此错误:

Dependabot Failed to update your dependencies because there was an error parsing the package.json found at /package.json.

Dependabot encountered the following error:

Dependabot::DependencyFileNotParseable

此外,我不应该手动创建dependabot安全更新,因为我的github操作应该自动执行它,如下所示:

# To get started with Dependabot version updates,you''ll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
  # Maintain dependencies for GitHub Actions
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "weekly"

  # Maintain dependencies for npm
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
 
  # Maintain dependencies for Python files in requirements.txt
  - package-ecosystem: "pip"
    directory: "/"
    schedule:
      interval: "weekly"

路由:my-app/.github/dependabot.yml

我在这里遗漏了什么吗?我以完全相同的方式为我的网站启用了此功能,该网站是用 React.js 编写的,并且运行良好。

Docker - npm 错误! enoent ENOENT: 没有那个文件或目录,打开'/package.json' ----- /docker-entrypoint.sh: 38: exec: npm: not found

Docker - npm 错误! enoent ENOENT: 没有那个文件或目录,打开'/package.json' ----- /docker-entrypoint.sh: 38: exec: npm: not found

如何解决Docker - npm 错误! enoent ENOENT: 没有那个文件或目录,打开''/package.json'' ----- /docker-entrypoint.sh: 38: exec: npm: not found

我有以下用于 React 应用程序的 Dockerfile,并且我在构建此容器后正在运行测试。这是我使用 Docker 的第一天,我正在学习一门课程,所以不太确定我在做什么。

FROM node:13.12.0-alpine as builder

workdir ''/app''
copY package.json .
RUN npm install
copY . .
RUN npm run build

FROM Nginx

RUN apt-get update && apt-get install -y npm
ARG NODE_VERSION=14
RUN curl -fsSL https://deb.nodesource.com/setup_${NODE_VERSION}.x | bash - \\
  && apt-get update \\
  && apt-get autoremove \\
  && apt-get install -y nodejs

copY --from=builder /app/build /usr/share/Nginx/html

我在 RUN 之后有这两个 FROM Nginx 的原因是在运行 docker build -t username/project-name . 后,我会运行 docker run ID npm run test 并得到 /docker-entrypoint.sh: 38: exec: npm: not found

由于我添加了两个 RUN 语句(我不确定这是一个好主意),因此构建仍然成功,但随后我使用 docker run ID npm run test 运行测试并收到以下错误:

npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path /package.json
npm ERR! errno -2
npm ERR! enoent ENOENT: no such file or directory,open ''/package.json''
npm ERR! enoent This is related to npm not being able to find a file.

我也试过运行 docker run -w /app ID npm run test 但得到 ENOENT: no such file or directory,open ''/app/package.json'' 错误。

我的文件结构是这样的:

project
  node_modules
  src
  Dockerfile
  package.json
  ...

解决方法

这是一个多阶段构建。

docker build -t username/project-name . 从最后一个阶段创建一个以 from nginx 开始的容器。在此容器中,您复制构建目录但不复制 package.json。

要解决此问题,您可以执行以下操作

  1. 在容器 builder 中的 docker build 中运行测试。为此,请在 Dockerfile 中添加以下行 RUN npm run test
  2. 使用 builder 创建 docker build --target=builder -t username/project-name 容器并使用 docker run ID npm run test
  3. 将所有源和项目数据复制到最后一个阶段,但不建议这样做
,

您在此处展示的整体多阶段构建模式是典型的,用于使用编译为静态文件的基于浏览器的应用程序生成可部署映像。图像的全部内容是最后阶段,从最后的 FROM 行开始:

FROM nginx
# You would not typically reinstall Node here
# Only copy in the prebuilt files
COPY --from=builder /app/build /usr/share/nginx/html
# EXPOSE,CMD,etc. from base nginx image

所以这个图像包含第一阶段的 ./build 树的内容,没有其他内容。 package.json 文件和 node_modules 树不是其中的一部分。

没有规定您必须专门使用基于 Docker 的工具,即使您最终要发布 Docker 映像。对于日常开发,我建议使用基于主机的 Node 环境,而不是尝试间接使用 Docker 来模拟它。然后,您可以在打包应用程序之前运行单元测试。

# Work on code
$EDITOR src/main.js
# Run tests (without involving Docker)
npm run test
# Run a local (non-Docker) dev server and make sure it works
npm run start
# It works?  Build a minimal nginx-based Docker image and ship it
docker build -t my/frontend-app:20210511 .
docker run -p 8888:80 my/frontend-app:20210511
docker push my/frontend-app:20210511

关于是否有任何工具可以在 Linux 和 Windows 上运行 npm package.json 的脚本?的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于$ npm install npm WARN saveError ENOENT:没有这样的文件或目录,请打开'C:\ LeadMgt_Use.This.One \ package.json'、/package.json 中不存在 package.json、Dependabot 未能更新您的依赖项,因为解析 /package.json 中的 package.json 时出错、Docker - npm 错误! enoent ENOENT: 没有那个文件或目录,打开'/package.json' ----- /docker-entrypoint.sh: 38: exec: npm: not found的相关知识,请在本站寻找。

本文标签: