gpt4 book ai didi

node.js - npm 链接在 Windows 上不起作用?

转载 作者:搜寻专家 更新时间:2023-10-31 22:39:46 24 4
gpt4 key购买 nike

我正在使用 Node v0.10.32。 Windows 8.1。

我的目标是将 Node 应用程序链接为另一个主应用程序中的 node_module。

我转到我的模块文件夹并执行

npm link

然后,我转到 main-app 文件夹并执行

npm link my-module

这是结果

c:\dev\main-app>npm link my-module
unbuild my-module@0.0.2
c:\dev\main-app\node_modules\my-module -> C:\Users\Nizar\AppData\Roaming\npm\node_modules\my-module -> C:\dev\my-module

但是,链接似乎不起作用,require('my-module') 抛出以下错误

    c:\dev\main-app>node app.js

module.js:340
throw err;
^
Error: Cannot find module 'my-module'
at Function.Module._resolveFilename (module.js:338:15)
  • 我的模块确实是 v0.0.2。
  • 我可以从 main-app/node_module/my-module 访问它
  • 此文件夹存在于 C:\Users\Nizar\AppData\Roaming\npm\node_modules\my-module
  • my-module package.json 有 "name": "my-module"

此外,%NODE_PATH% 已正确设置:

  c:\dev\main-app>echo %NODE_PATH%
C:\Users\Nizar\AppData\Roaming\npm\node_modules

想法?

最佳答案

有几件事要尝试。在 Windows 上,npm link 通过创建连接点来处理。发出 dir node_modules 命令应该会产生如下一行:

01/15/2016 11:02 AM <JUNCTION> my-module [C:\Users\Nizar\AppData\Roaming\npm\node_modules\my-module]

假设存在,那么问题很可能是:

  1. 缺少 index.js 文件(这是 Node 用于解析模块的默认文件名)
  2. 您正在使用与 index.js 不同的文件作为模块的主文件,在这种情况下,您需要使用 main< 告诉 Node 该文件是什么 键入您的 package.json 文件。

例如(取自 here ):

{
"name": "node-js-sample",
"version": "0.2.0",
"description": "A sample Node.js app using Express 4",
"main": "index.js", // <-- LIKE THIS
"scripts": {
"start": "node index.js"
},
"dependencies": {
"express": "^4.13.3"
},
"engines": {
"node": "4.0.0"
},
"repository": {
"type": "git",
"url": "https://github.com/heroku/node-js-sample"
},
"keywords": [
"node",
"heroku",
"express"
],
"author": "Mark Pundsack",
"contributors": [
"Zeke Sikelianos <zeke@sikelianos.com> (http://zeke.sikelianos.com)"
],
"license": "MIT"
}

关于node.js - npm 链接在 Windows 上不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34815260/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com