相关疑难解决方法(0)

npm从github pull请求安装

npm安装文档中调用它看起来可以从github repo安装npm.

是否也可以专门从pull请求安装?

解决方案是基于拉取请求的最后一次提交(最后一次)来安装吗?

github npm

45
推荐指数
2
解决办法
2万
查看次数

从Github安装时自动构建NPM模块

鉴于项目的lib/目录不应该被检入Git,因为它包含的文件是派生文件(来自构建过程).当(在开发为例)安装从项目的github上一包lib/目录将不存在,因此,如果包的package.jsonmain场点(例如)lib/index.js,包无法导入当编译,因为存储库中不存在这些文件因此在安装到的包中node_modules.这意味着需要构建软件包(就像在发布之前一样),只在本地这一次,以便将lib目录(或在构建过程中生成的任何其他文件)添加到模块的目录中.

假设文件的字段中有一个build脚本,是否可以将包配置为在仅从github安装它的情况下自动运行它?如果没有,从github安装时确保构建它的最佳方法是什么?package.jsonscripts

现在有prepublish,prepublishOnly而且prepare生命周期挂钩,但没有提供一个答案,这个问题,因为他们不允许任何方式的安装源进行区分.简而言之,是的,它们允许您构建安装,但它们不允许您仅从github构建安装.当人们从npm安装时,不仅没有理由强制构建,更重要的是,不会安装开发依赖项(例如babel,这对构建至关重要).

我知道有一个策略可以解决这个问题:

  • 回购/分支回购
  • 在本地建立
  • 删除lib/目录.gitignore并检入.
  • 从fork/branch安装模块
  • 当你准备好PR/rebase添加lib/dir .gitignore并从git中删除dir.

但这远非理想.我想这可以通过githook实现自动化.因此,每一个你掌握项目的人都会建立并推动到一个单独的分支.

NPM的Github上有一个封闭的问题没有解决方案 - 只有很多人想要一个解决方案.从这个问题可以清楚地看出,使用prepare不是答案.

我的用例是我正在开发一个用于许多其他项目的模块.我想使用最新版本的模块而不必在每次更新代码库时都向NPM推出一个版本 - 我宁愿在我准备好时推出更少的版本,但我仍然需要使用最新版本的lib在Github上.

注意:我也就此问题与NPM的支持联系,如果收到,我会添加他们的回复.

javascript build github package npm

45
推荐指数
3
解决办法
7809
查看次数

在Visual Studio 2017 ASP.NET MVC核心模板中更换Bower

最近我使用Visual Studio 2017(15.6.3)从头开始创建了一个ASP.NET MVC Core项目.我发现了通常的JavaScript框架:

  • 引导
  • jQuery的
  • jQuery的验证
  • jQuery的验证,不显眼

但不幸的是,所有Bower的支持都消失了!没有bower.json,没有.bowerrc,没有"管理凉亭包......"了:

在此输入图像描述

Visual Studio的ASP.NET MVC Core模板有什么问题?鲍尔变得过时了吗?

如果Bower已被弃用,请不要将此问题复制到如何在Visual Studio 2017中使用bower包!我不喜欢指向已弃用技术的修复程序.

我想缩小一个问题:用NPM取代Bower最简单(最直观)的方法是什么?鲍尔一样做了与它的.bowerrc:{ "directory": "wwwroot/lib" }

asp.net-mvc visual-studio visual-studio-templates bower asp.net-core

21
推荐指数
2
解决办法
9730
查看次数

如何在项目中使用fork版本的npm包

假设有一个名为npm的包abcd.通常在package.json,我们将依赖项指定为 "abcd": "^1.0.0",

但这abcd不能按预期工作,所以我在https://github.com/mygithubid/abcd中分叉(并修改)它

然后我跑npm install git+https://git@github.com/mygithubid/abcd.git进去package.json,定义改为 "abcd": "git+https://github.com/mygithubid/abcd.git",

重新启动使用abcd它的项目后,现在它抛出错误 Module not found: Can't resolve 'abcd' ...即使我看到abcd文件夹被添加到里面node_modules

你能告诉我上面的错误吗?谢谢!

node.js npm

19
推荐指数
2
解决办法
5682
查看次数

如何更新npm嵌套(易受攻击)依赖?

Github已将我的应用锁定文件中的依赖项标记为易受攻击.

要修复它,我应该将该软件包更新到更新的版本.

如果我对易受攻击的软件包没有任何控制,我该怎么做呢,因为它嵌套在依赖树中?

抱歉,如果这是一个非常基本的问题,但我似乎没有找到任何有用的.

node.js npm

18
推荐指数
2
解决办法
2871
查看次数

来自GitHub Release Binary的NPM安装/依赖

我知道如何从GitHub版本中创建NPM依赖项:

"dependencies": {
  "package-name": "user/repo#v1.0.0"
}
Run Code Online (Sandbox Code Playgroud)

这很好,但我想从这个版本安装一个特定的二进制文件.

我试过了

"dependencies": {
  "package-name": "https://github.com/user/repo/releases/download/v1.0.0/bin.tgz"
}
Run Code Online (Sandbox Code Playgroud)

但我给了我以下错误:

? npm install
npm ERR! fetch failed https://github.com/user/repo/releases/download/v1.0.0/bin.tgz
npm WARN retry will retry, error on last attempt: Error: fetch failed with status code 404
Run Code Online (Sandbox Code Playgroud)

二进制发布资产存在于GitHub之外,并且正在使用AWS S3.

URL github.com/user/repo/releases/download/v1.0.0/bin.tgz正在重定向,302状态和HTTP位置标头设置为https://github-cloud.s3.amazonaws.com/releases/XXX/XXX...

如果我直接尝试使用S3 URL,则会出现ENAMETOOLONG错误(请参阅NPM问题):

> npm install https://github-cloud.s3.amazonaws.com/releases/XXX/XXX...
npm ERR! tarball.destroy is not a function
npm WARN retry will retry, error on last attempt: Error: ENAMETOOLONG: name too long, open …
Run Code Online (Sandbox Code Playgroud)

github npm npm-install

17
推荐指数
1
解决办法
2130
查看次数

Bower背后代理 - 摘要

我遇到了代理后面的凉亭问题,运行bower安装后我发现了错误:

_http_client.js:73
    throw new TypeError('Request path contains unescaped characters.');
Run Code Online (Sandbox Code Playgroud)

有很多主题,很多解决方案,但到目前为止,100%的人都无法为我工作!

proxy node.js bower

9
推荐指数
1
解决办法
4454
查看次数

来自github的npm包,缺少文件

我正试图从我的一个项目中引用logary-js.

我有这个packages.json文件:

...
"dependencies": {
  "logary": "logary/logary-js#master",
  ...
}
...
Run Code Online (Sandbox Code Playgroud)

但是,在尝试下拉包时,它会因此错误而失败:

? npm install

> logary@1.0.0 preinstall /Users/h/dev/proj/node_modules/.staging/logary-6603d70a
> npm run build


> logary@1.0.0 build /Users/h/dev/proj/node_modules/.staging/logary-6603d70a
> NODE_ENV=production webpack --progress --color --display-error-details --display-reasons --optimize-minimize

webpack 1.12.14
Usage: https://webpack.github.io/docs/cli.html

Options:
  --help, -h, -?
  --config
  --context
  --entry
  --module-bind
  --module-bind-post
  --module-bind-pre
  --output-path
  --output-file
  --output-chunk-file
  --output-named-chunk-file
  --output-source-map-file
  --output-public-path
  --output-jsonp-function
  --output-pathinfo
  --output-library
  --output-library-target
  --records-input-path
  --records-output-path
  --records-path
  --define
  --target
  --cache                                                                                           [default: true]
  --watch, -w
  --watch which closes when stdin ends
  --watch-aggregate-timeout
  --watch-poll
  --hot
  --debug …
Run Code Online (Sandbox Code Playgroud)

javascript github npm npm-install

6
推荐指数
1
解决办法
985
查看次数

打字稿泛型类型和未定义

我正在查看 facebook 的不可变库及其打字稿绑定。

如果我有这个代码:

const list: User[] = ...;
list.map(user => ...)
Run Code Online (Sandbox Code Playgroud)

lambda 参数的类型user正确User

但是,如果我导入不可变的List并包装我的数组:

import {Map, List} from "immutable";
List(list).map(user => ...)
Run Code Online (Sandbox Code Playgroud)

现在,让我感到困惑的是,lambda 参数user被推断为User | undefined。即使将呼叫更改为也List<User>(list)无济于事。

查看库的 .d.ts,定义是:

export function List<T>(array: Array<T>): List<T>;
Run Code Online (Sandbox Code Playgroud)

所以我不明白这是怎么回事?

generics typescript immutable.js

5
推荐指数
1
解决办法
2万
查看次数

有没有办法在 package.json 中分叉 npm 库并在安装时运行其构建过程?

我有一个 npm 依赖项(例如ngx-infinite-scroll),我目前正在尝试分叉(用于错误修复)并将我的分叉版本作为依赖项包含在我的应用程序中。下面是我的包含示例package.json

  "dependencies": {
    "ngx-infinite-scroll": "github:jcroll/ngx-infinite-scroll#bugfixes",
  },
Run Code Online (Sandbox Code Playgroud)

在上面,我在 github 上分叉了存储库并创建了一个名为 的新分支bugfixes

我的问题是,维护者运行一个构建过程,在./dist目录中创建一个工件,然后使用 将该平面目录发布到 npm $ npm run publish ./dist。但是,当我通过$ npm i ngx-infinite-scroll整个存储库安装新的分叉存储库时,会下载整个存储库,而不是目录dist

现在我知道这应该是预料之中的。我希望做的一件事是至少dist通过添加到库的脚本来在安装时创建目录package.json

  "scripts": {
    ...
    "prepare": "npm run build"
  },
Run Code Online (Sandbox Code Playgroud)

但是我仍然看不到dist安装目录。即使如此,我仍然需要更改 package.json 以将密钥module指向这个新的嵌套目录入口点。

相反,我想要的是,当我从 github 安装这个库时,让它将其扁平dist目录发布为库的顶级目录,就像维护者构建库并运行原始库的方式一样$ npm rub publish ./dist。有什么办法可以做到这一点吗?

编辑:我也通过这个答案知道我可以构建 dist 并将代码提交到这个新分支,但我想要一种更优雅的方式,因此出现了问题。

javascript npm

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

Github - 如何 npm 安装分叉到另一个存储库的存储库?

我在安装存储库Pm2 修复程序时遇到困难,该修复程序是分叉到原始Pm2 原始版本的

我有两个问题

  1. 如何使用 npm 安装 pm2 修复程序?
  2. 在我使用 npm 安装 pm2 修复程序后 - 如果它被分叉,我仍然可以执行 npm update pm2 (原始)吗?如果没有,如果我从另一个存储库(分叉到原始存储库)安装 pm2 修复程序,我怎样才能更新原始 pm2 存储库?

git node.js npm

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