运行`ln -s`在npm postinstall中不起作用

时间:2015-08-31 17:47:09

标签: npm symlink package.json post-install

我想在package.json中创建一个符号链接:

“postinstall”:“ln -s ../../dist foo / dist”

然而没有出现。

命令在终端中正常工作。

也许我应该使用终端模拟器来满足Windows?

1 个答案:

答案 0 :(得分:0)

系统:Ubuntu 16 Npm:3.5.2

在档案package.json我有

{
  "scripts": {
    "postinstall": "ln -fs a b"
  }
}

在目录中我有以下文件

ls -la
drwxrwxr-x   6 daniel daniel 4096 maj 15 09:51 .
drwxrwxr-x   4 daniel daniel 4096 maj 14 21:26 ..
-rw-rw-r--   1 daniel daniel    0 maj 15 09:50 a
-rw-rw-r--   1 daniel daniel   55 maj 15 09:50 package.json

我使用命令

npm install

打印

 undefined postinstall /home/daniel
 ln -fs a b

npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.1.1
npm WARN frontend No repository field.
npm WARN frontend No license

然后我再次列出文件:

ls -la
drwxrwxr-x   6 daniel daniel 4096 maj 15 09:51 .
drwxrwxr-x   4 daniel daniel 4096 maj 14 21:26 ..
-rw-rw-r--   1 daniel daniel    0 maj 15 09:50 a
lrwxrwxrwx   1 daniel daniel    1 maj 15 09:51 b -> a
-rw-rw-r--   1 daniel daniel   55 maj 15 09:50 package.json

尝试重现这些命令,并告诉我它是否有帮助。