标签: npm-link

如何卸载使用npm链接安装的软件包?

在程序sudo npm link包的目录中使用节点包时,如何在完成开发后卸载程序包?

npm link将软件包安装为系统的全局软件包位置('/ usr/local/lib`)中的符号链接.这使您可以在开发包时对其进行测试,而无需一遍又一遍地安装它.

我需要运行哪个npm命令才能再次删除链接?

node.js npm npm-link

144
推荐指数
5
解决办法
8万
查看次数

React Native:npm链接本地依赖项,无法解析模块

我正在开发一个用于反应原生的按钮ui包.我尝试构建一个示例项目来测试此按钮.目录结构如下:

my-button/
    package.json
    index.js
    example/
        package.json
        index.js
Run Code Online (Sandbox Code Playgroud)

我尝试使用npm link:

cd my-button
npm link

cd example
npm link my-button
Run Code Online (Sandbox Code Playgroud)

example/node_modules/我可以看到我的按钮符号链接,VSCode也可以在我的按钮包中自动完成功能.

但执行示例应用程序将显示错误:

Unable to resolve module my-button ...
Module does not exist in the module map or in these directories: ...
Run Code Online (Sandbox Code Playgroud)

但错误消息中的路径是正确的.

不知道我错在哪里,或者在React-Native中有什么特殊的方式来处理链接本地依赖?

我也试过了npm install file:../..它以这种方式工作正常,但在example/编辑我的按钮后不容易更新依赖.

npm react-native npm-link

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

`npm link x`和`npm install/path/to/x`之间的区别

我以为我理解了它们之间的区别

npm link x
Run Code Online (Sandbox Code Playgroud)

npm install /local/path/to/x
Run Code Online (Sandbox Code Playgroud)

最初我以为前者为x创建了一个符号链接,而后者在你的项目中安装了一个单独的x副本,而不是对它进行符号链接.

然而,我最近注意到我的原始印象是错误的,他们似乎都使用符号链接 - 所以这两者之间有什么区别,它是什么?

node.js npm npm-install npm-link

30
推荐指数
2
解决办法
3150
查看次数

npm-link 库上的挂钩调用无效

问题描述:

\n
    \n
  • 我目前正在编写一个名为eformless

    \n
  • \n
  • 我已经使用CRA创建了一个名为 的目录sandbox,我在其中链接了包。

    \n
  • \n
  • 当尝试使用我正在尝试测试的链接包启动沙箱反应应用程序时,我不断收到以下错误:

    \n
    // inside my \'sandbox\' App.tsx\nimport React from \'react\'\nimport { useField } from \'eformless\'\n\nconst App = () => {\n  const [test, handleChange] = useField(\'testing\')\n  return (\n    <input type="text" value={test.value} onChange={handleChange} />\n  )\n}\n
    Run Code Online (Sandbox Code Playgroud)\n
  • \n
\n
\n

错误:无效的挂钩调用。钩子只能在函数组件的主体内部调用。发生这种情况可能是由于以下原因之一:

\n
    \n
  1. 您的 React 和渲染器版本可能不匹配(例如 React DOM)
  2. \n
  3. 你可能违反了 Hooks 规则
  4. \n
  5. 您可能在同一应用中拥有多个 React 副本\n请参阅因 stackoverflow ToS 而更改的链接,了解有关如何调试和修复此问题的提示。
  6. \n
\n
\n

问题发生的地方:

\n

这个问题似乎指向我的库,我在其中编写了一个自定义钩子,该钩子使用从 React …

node.js npm typescript reactjs npm-link

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

在 Angular 库中保留符号链接

我有个问题。

我正在尝试使用 ng-cli 创建一个 Angular 8 库,但我无法使用npm link.

我试图在我的 angular.json 上添加这个:

    "build": {
      "builder": "@angular-devkit/build-ng-packagr:build",
      "options": {
        "preserveSymlinks": true,
        "tsConfig": "projects/button/tsconfig.lib.json",
        "project": "projects/button/ng-package.json"
      }
    }, 
Run Code Online (Sandbox Code Playgroud)

但得到:

"Schema validation failed with the following errors: Data path ""
should NOT have additional properties(preserveSymlinks)."
Run Code Online (Sandbox Code Playgroud)

我发现它不适用于图书馆。

然后我尝试将其添加到我的 tsconfig.lib.json 中:

 "angularCompilerOptions": {
    "annotateForClosureCompiler": true,
    "skipTemplateCodegen": true,
    "strictMetadataEmit": true,
    "fullTemplateTypeCheck": true,
    "strictInjectionParameters": true,
    "enableResourceInlining": true,
    "preserveSymlinks": true
  }
Run Code Online (Sandbox Code Playgroud)

什么也没发生。

我在这里搜索了一个解决方案,但找不到类似的东西。

我怎样才能做到?

谢谢!

npm npm-link angular angular8 angular-cli-v8

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

无法 npm 链接多个包

我在链接本地包时遇到奇怪的错误:

我有 2 个包裹(我们称它们为 A 和 B)。当我将其中之一链接到我的项目时,npm link A它会按预期工作。但后来我尝试使用链接另一个链接,它被链接了,但Anpm link B的链接消失了。我没有收到错误消息,仅收到以下错误消息:

5秒内添加了5个包,删除了5个包,更改了2个包,审计了121个包

3个套餐正在寻求资金运行npm fund详情

以前这工作没有任何问题,但今天我更新了一些依赖项npm update。当我尝试重新链接我的包时,出现了问题。

也许值得一提的是,包 B 也链接包 A。

编辑:使用解决它npm link A B

npm npm-link

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

Webpack 使用 npm 链接时出现 eslint 错误

我设置了一个多包项目,其中有一个依赖于 TypeScript 库的 JavaScript 包。最初我安装了 Sinopia 并且每次对它进行更改时都会重新安装该库。然后我看到npm link并认为它会更容易开发。不幸的是,当我链接库(使用npm link ../typescript-package)并构建时,它给出了一个错误:

ERROR in ../typescript-package/dist/index.js
Module build failed: Error: No ESLint configuration found.
Run Code Online (Sandbox Code Playgroud)

由于它们是单独的包,我不太确定为什么 Webpack 试图将 eslint 应用于这个包。这是我的webpack.common.js文件(使用合并,开发与生产配置无关紧要):

// webpack.common.js
const ExtractTextPlugin = require('extract-text-webpack-plugin');

const babelOptions = {
  presets: ['react', 'es2015', 'stage-0'],
  sourceMaps: true,
  retainLines: true,
};

module.exports = {
  entry: {
    solver: './source/index.jsx',
  },
  output: {
    path: `${__dirname}/dist`,
    filename: '[name].js',
    publicPath: '/dist/',
  },
  resolve: {
    modules: ['source', 'node_modules/'],
    extensions: ['.js', '.jsx', '/index.jsx', '.json', '.ts', '/index.ts', …
Run Code Online (Sandbox Code Playgroud)

javascript npm eslint npm-link

12
推荐指数
2
解决办法
4135
查看次数

未捕获的类型错误:无法读取 null 的属性(读取“useEffect”)

编辑

那么,到底是什么问题呢?我有两个 React 和 ReactDOM 实例为所提供的applicationB. 我在诊断问题空间时被误导了,因此下面提出的问题/呼吁有点全面。应该拿走什么,希望它可以帮助处于这个位置的其他人:

reactjs npm-link remix react-hooks esbuild

11
推荐指数
0
解决办法
1万
查看次数

如何让 npm 支持本地链接依赖而不是其已发布的安装

我已经搜索了其他问题,例如这个问题,但它们似乎都是关于本地人npm link因其他原因停止工作而不是我的。我认为这是一个常见的用例问题,所以如果我在有条不紊地做一些错误的事情,我很乐意就我应该如何提出建议件事。

原则上,我有一个我正在处理的私有 npm 模块,名为@organisation/module. 在本地工作时,我将运行npm link它,并在我的“宿主”项目中使用它作为npm link @organisation/module- 这一切都适用于热重载等。我也将其导入为import module from '@organisation/module.

但是,由于我也想@organisation/module不时将我的本地更改发布到 npm (as ),对于构建测试和生产代码,我需要运行npm install @organisation/module在宿主项目上。

这似乎打破了npm link我之前设置的隐式......我假设主要是因为它们是相同的名称,并且 npm 更喜欢install一个link

当我想再次进行实时本地更改时,我目前可以使其正常工作的唯一方法是通过 npm uninstall @organisation/module然后重新链接它。

有没有办法让发布的模块保持安装(以避免粗心的错误,比如忘记重新安装它进行构建测试),但总是偏爱本地的链接实例?

参考图: 参考图

node.js npm npm-link

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

npm 仅链接 dist 文件夹

有没有办法限制npm link创建符号链接只指向./dist

我很挣扎,因为我想在发布之前在本地测试我的库(反应组件)。

在我的package.json我已经包括主要(入口点):

"main": "./dist/index.js"
Run Code Online (Sandbox Code Playgroud)

但是当我运行npm link它时仍然链接到具有node_modules等等的父文件夹。这导致了问题,因为现在我安装了 2 个 React 应用程序。

我想到了一种排除方法,node_modules但我什至找不到办法做到这一点。

node.js npm reactjs npm-link

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