用于包管理器(如Nuget/npm/bower/typings)的自定义路径

用于包管理器(如Nuget/npm/bower/typings)的自定义路径,npm,bower,bower-install,npm-install,tsd,Npm,Bower,Bower Install,Npm Install,Tsd,我正在Visual Studio中建立一个基于AngularJS和Typescript的项目,当我需要安装依赖项时,我不得不处理另一个包管理器,这有点令人沮丧 我遇到的问题是,包管理器要求包含依赖项的文件位于特定位置 让我们以npm为例。 我将packages.json放在/SolutionDirectory/MyApp.Web/ 但是当我运行npm安装时,我只得到了enoint:没有这样的文件或目录。,因为cwd是./SolutionDirectory 如果我正在做cd./SolutionDi

我正在Visual Studio中建立一个基于AngularJS和Typescript的项目,当我需要安装依赖项时,我不得不处理另一个包管理器,这有点令人沮丧

我遇到的问题是,包管理器要求包含依赖项的文件位于特定位置

让我们以npm为例。 我将packages.json放在/SolutionDirectory/MyApp.Web/ 但是当我运行npm安装时,我只得到了enoint:没有这样的文件或目录。,因为cwd是./SolutionDirectory

如果我正在做cd./SolutionDirectory/MyApp.Web并在之后运行npm安装,它就可以正常工作

对于bower,我可以通过传递以下附加参数来处理类似问题:

bower安装--config.cwd=./SolutionDirectory/MyApp.Web/app/lib--config.directory=vendor

此命令仅从./SolutionDirectory/MyApp.Web/app/lib获取bower.json,并将包安装到./SolutionDirectory/MyApp.Web/app/lib/vendor

  • 在npm安装之前,是否有方法将packages.json位置传递给npm

  • 有没有办法在typings.json安装之前将其位置传递给typings?要传递已安装打字的目标目录位置

  • 同样的方法对Nuget可行吗

  • 在npm安装之前,是否有方法将packages.json位置传递给npm
  • 不,没有。目前无法覆盖npm中的
    cwd
    值。您应该移动目录并运行它:

    `$ cd SolutionDirectory/MyApp.Web/ && npm install`
    
    下面是与此类似的讨论:

  • 有没有办法在typings.json安装之前将其位置传递给typings?要传递已安装打字的目标目录位置
  • 从技术上讲是的,但我想您应该只使用
    typings.json
    安装
    typings。如何将
    typings.json
    放入与
    package.json
    相同的路径并使用

  • 同样的方法对Nuget可行吗

  • Nuget也是包管理器,所以它应该具有类似的功能,比如
    Nuget mirror
    命令可以是
    npm配置集注册表
    Nuget区域设置
    可以是
    npm缓存
    。从技术上讲,这是一种不同的软件,但我认为了解这两种软件是了解彼此概念和总结的好方法。

    对于npm:

    npm安装

    是包含
    package.json
    文件的文件夹的路径

    用于打字:

    打字安装[=]

    是指向
    typings.json

    对于NuGet:

    nuget安装包ID |路径包配置[选项]

    pathToPackagesConfig
    是指向
    packages.config
    文件的路径


    因此,要回答这个问题,可以为所有这些包管理器指定配置文件位置的路径

    嗯…尝试了npm命令,但无论是相对路径还是绝对路径都不起作用。但是我现在又犯了一个错误。mypackage.json如下所示:{“name”:“myapp”,“version”:“1.0.0”,“description”:“devdependences”:{“gulp”:“3.9.0”,“gulp sass”:“latest”,“gulp watch”:“4.3.5”}}错误是:npm:npm WARN install无法安装可选依赖项:第1行不支持char:1 reference:,@AlexanderEfimov似乎这是一个已知问题,在这里您可以找到一些解决方法的建议:
    $ ls
    package.json typings.json
    $ cat package.json
    {
      "name": "name",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "postinstall": "typings install"
      },
      "keywords": [],
      "author": "",
      "license": "ISC",
      "devDependencies": {
        "typings": "^0.7.12"
      }
    }
    $ npm install
    => after npm install, typings install will start with typings.json